搭建本地easy-mock的爬坑之路

看了网上的一些方法,第一种是按照 添加链接描述
这个链接里面的方法分别安装node mogonDB Redis s 有一定的版本要求。node 的版本不能超过v9。用这个方法试了一下,没有安装成功,是因为我本地的node过高,,不想降级别,然后试了网上说的另一种方法添加链接描述
看了一些介绍说是基于docker-compose安装,简单,不需要额外安装mongodb、Redis 我最后选择了用第二种方法安装
这里我主要介绍在安装过程中我遇到的坑
1.第一步:docker-compose
具体的安装方法参照:

这里我遇到的第一个坑是,我本地的win10系统是家庭版 本地没有Hyper -V这个配置。

第一坑:
新建hyperv.txt 粘贴一下内容 然后改文件的后缀hyperv.cmd,然后右键以管理员的身份运行,加载完输入 y 重新启动电脑

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

启用或关闭Windows功能:勾选Hyper-V

在这里插入图片描述

第二坑:安装Docker Installer.exe 地址:添加链接描述
在这里插入图片描述

造成这种错误的原因是因为:
因为docker for win目前只提供给windows专业版用户和企业版用户,因此我们需要伪装成专业版绕过安装检测。
由于Docker Desktop会在安装的时候检测系统版本,直接安装会显示安装失败。所以需要改下注册表绕过安装检测。
打开注册表,定位到HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion,点击current version,在右侧找到EditionId,右键点击EditionId 选择“修改“,在弹出的对话框中将第二项”数值数据“的内容改为Professional,然后点击确定
打开注册表的快捷方法是:
wind+R 输入 regedit

在这里插入图片描述
第三坑: 提示Installation failed:Containers Windows Feature is not available

在这里插入图片描述

解决方法:新建containers.cmd,(这个新建的文件可以是单独放在一个你认为合适的文件下)编辑内容如下,以管理员身份运行,执行完后会提示重启电脑:Y。

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*containers*.mum >containers.txt
for /f %%i in ('findstr /i . containers.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del containers.txt
Dism /online /enable-feature /featurename:Containers -All /LimitAccess /ALL
pause

-----安装成功-----

cmd命令行执行docker version查看docker版本

打开docker桌面的右下角会有一个图标
在这里插入图片描述

第四坑:官方给出的文件docker-compose.yml

version: '3'

services:
  mongodb:
    image: mongo:3.4.1
    volumes:
      # ./data/db 数据库文件存放地址,根据需要修改为本地地址
      - './data/db:/data/db'
    networks:
      - easy-mock
    restart: always

  redis:
    image: redis:4.0.6
    command: redis-server --appendonly yes
    volumes:
      # ./data/redis redis 数据文件存放地址,根据需要修改为本地地址
      - './data/redis:/data'
    networks:
      - easy-mock
    restart: always

  web:
    image: easymock/easymock:1.6.0
    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:

这个文件新建的位置 我是放在了D 盘的一个文件夹下 然后在这个文件下
第一次使用的时候我没有更改里面的内容 然后在这个文件下执行 git brash 进入到这个文件夹执行

启动:docker-compose up -d

这个时候执行的时候一直提示 Drive has not been shared
解决办法:在setting中勾选D 默认选中的是C 代表C 盘是分享盘,我新建的docker-compose.yml 这个文件是在D 盘。
第五坑:
我默认使用的docker-compose.yml 这个文件是官方给出的例子,没有做任何改动 在运行的是时候报了在启动的错误
在这里插入图片描述
解决办法

version: '3'

services:
  mongodb:
    image: mongo:3.4.1
    volumes:
      # ./data/db 数据库文件存放地址,根据需要修改为本地地址(修改的第一个地方重新命名文件名)
      - './mongo_data/db:/data/db'
    networks:
      - easy-mock
    restart: always

  redis:
    image: redis:4.0.6
    command: redis-server --appendonly yes
    volumes:
      # ./data/redis redis 数据文件存放地址,根据需要修改为本地地址(修改的第二个地方重新命名文件名,如何和上面的第一处修改的地址一样,会造成程序一直在启动的错误)
      - './redis_data/redis:/data'
    networks:
      - easy-mock
    restart: always

  web:
    image: easymock/easymock:1.6.0
    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:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值