标签:https pre Fix 文件目录 erro url 解决 png cannot
我主要参考这篇文章来搭建easy-mock,但是在自己搭建的过程中遇到一些其它的问题,所以写了这边文章来记录搭建的细节,也算是对这篇文章的补充吧。
搭建easy-mock主要分成两种途径:一、需要分别安装node、mogonDB、Redis,而且node 的版本不能超过v9;二、基于docker-compose安装,不需要安装mongodb、redis,也不用调整node版本。我采用的是后者。
首先,安装Docker Installer.exe,下载地址。我遇到第一个问题:在Docker Installer.exe安装完成后,打开Docker Desktop报错提示“Cannot enable Hyper-V service”,如果本机没有Hyper -V这个配置,则参考这篇文章。解决方法:查看“Windows功能” ->“启用或关闭Windows功能”中hyper-v是否全部打勾,若没有则全选然后重启;如果已经全部开启,还是跳出弹框,则进入BIOS界面设置Security-> Intel Virtualization Technology(有的电脑是Advanced -> Intel Virtualization Technology)设置为Enabled。
接着,我是在F:\mock\docker-compose目录下新建docker-compose.yml文件,代码如下(可以直接套用):
version: ‘3‘ services: mongodb: image: mongo:3.4 privileged: true volumes: # ./data/db 数据库文件存放地址,根据需要修改为本地地址 - ‘./data/db:/data/db‘ networks: - easy-mock restart: always redis: image: redis:4.0.6 privileged: true command: redis-server --appendonly yes volumes: # ./data/redis redis 数据文件存放地址,根据需要修改为本地地址 - ‘./data/redis:/data‘ networks: - easy-mock restart: always web: image: easymock/easymock:1.6.0 privileged: true command: /bin/bash -c "npm start" ports: - 7300:7300 volumes: # 日志地址,根据需要修改为本地地址 - ‘./logs:/home/easy-mock/easy-mock/logs‘ # 配置地址,请使用本地配置地址替换 - ‘./production.json:/home/easy-mock/easy-mock/config/production.json‘ networks: - easy-mock restart: always networks: easy-mock:
然后我在与docker-compose.yml文件同级的目录下新建production.json文件,代码如下(可以直接套用):
{ "port": 7300, "host": "0.0.0.0", "pageSize": 30, "proxy": false, "db": "mongodb://mongodb/easy-mock", "unsplashClientId": "", "redis": { "keyPrefix": "[Easy Mock]", "port": 6379, "host": "redis", "password": "", "db": 0 }, "blackList": { "projects": [], "ips": [] }, "rateLimit": { "max": 1000, "duration": 1000 }, "jwt": { "expire": "14 days", "secret": "shared-secret" }, "upload": { "types": [".jpg", ".jpeg", ".png", ".gif", ".json", ".yml", ".yaml"], "size": 5242880, "dir": "../public/upload", "expire": { "types": [".json", ".yml", ".yaml"], "day": -1 } }, "ldap": { "server": "", "bindDN": "", "password": "", "filter": { "base": "", "attributeName": "" } }, "fe": { "copyright": "", "storageNamespace": "easy-mock_", "timeout": 25000, "publicPath": "/dist/" } }
最后,在cmd或git bash界面上,需要cd到与上面两个文件同级的目录下执行docker-compose up -d(创建并启动服务)命令,弹出如下错误:
ERROR: for docker-compose_mongodb_1 Cannot create container for service mongodb: status code not OK but 500: ?? ?? FDocker.Core, Version=3.0.2.51106, Culture=neutral, PublicKeyToken=null Docker.Core.DockerException ClassNameMessageDataInnerExceptionHelpURLStackTraceStringRemoteStackTraceStringRemoteStackIndexExceptionMeWatsonBuckets System.Collections.IDictionarySystem.Excepti Docker.Core.DockerException Filesharing has been cancelled ? 在 Docker.ApiServices.Mounting.FileSharing.<DoShareAsync>d__8.MoveNext() 位置 C:\workspaces\PR-15138\src\github.com\docker\pinata\win\src\Docker.ApiServices\Mounting\FileSharing.cs:行号 0 --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Docker.ApiServices.Mounting.FileSharing.<ShareAsync>d__6.MoveNext() 位置 C:\workspaces\PR-15138\src\github.com\docker\pinata\win\src\Docker.ApiServices\Mounting\FileSharing.cs:行号 55 --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Docker.HttpApi.Controllers.FilesharingController.<ShareDirectory>d__2.MoveNext() 位置 C:\workspaces\PR-15138\src\github.com\docker\pinata\win\src\Docker.HttpApi\Controllers\FilesharingController.cs:行号 21 --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__1`1.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext() ?8 MoveNext
解决方法:打开Docker Desktop->settings->Resources->File Sharing,添加要挂载的文件目录,保存修改,然后再执行一遍上面的命令。
命令执行成功的截图如下:
打开浏览器输入http://localhost:7300/login,就会显示easy-mock的登录界面。
标签:https pre Fix 文件目录 erro url 解决 png cannot
原文地址:https://www.cnblogs.com/whwtx/p/14483823.html