欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-10 12:11:40
...

看了网上的一些方法,第一种是按照 添加链接描述
这个链接里面的方法分别安装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

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

第二坑:安装Docker Installer.exe 地址:添加链接描述
搭建本地easy-mock的爬坑之路

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

搭建本地easy-mock的爬坑之路
第三坑: 提示Installation failed:Containers Windows Feature is not available

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

解决方法:新建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桌面的右下角会有一个图标
搭建本地easy-mock的爬坑之路

第四坑:官方给出的文件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 这个文件是官方给出的例子,没有做任何改动 在运行的是时候报了在启动的错误
搭建本地easy-mock的爬坑之路
解决办法

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:

相关标签: vue