win10搭建本地的easy-mock

2021-05-16 08:29

阅读:358

标签: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.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.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.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.d__1`1.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()
       ?8
MoveNext

  解决方法:打开Docker Desktop->settings->Resources->File Sharing,添加要挂载的文件目录,保存修改,然后再执行一遍上面的命令。

  技术图片

  命令执行成功的截图如下:

技术图片

  打开浏览器输入http://localhost:7300/login,就会显示easy-mock的登录界面。

技术图片

win10搭建本地的easy-mock

标签:https   pre   Fix   文件目录   erro   url   解决   png   cannot   

原文地址:https://www.cnblogs.com/whwtx/p/14483823.html


评论


亲,登录后才可以留言!