ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

virtualBox Ubuntu 20.04 使用 docker 内网部署 easy-mock

2022-03-06 13:01:24  阅读:184  来源: 互联网

标签:7300 rockfane easymock redis json easy Ubuntu docker mock


一、前言

1.1 案例前置

  • 已安装docker
  • 已安装docker-compose

二、配置

2.1 新建项目目录并进入

root@ubuntu:/home/rockfane# mkdir easymock && cd easymock

2.2 新建 production.json docker-compose.yml

root@ubuntu:/home/rockfane/easymock# touch production.json docker-compose.yml

2.3 修改 production.json

root@ubuntu:/home/rockfane/easymock# vim production.json
{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "db": "mongodb://rockfane:rockfanePass@mongodb/easymock",
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[RockFane MockServer]",
    "port": 6379,
    "host": "redis",
    "password": "",
    "db": 0
  },
  "blackList": {
    "projects": [], // projectId, e.g."5a4495e16ef711102113e500"
    "ips": [] // ip, e.g. "127.0.0.1"
  },
  "rateLimit": { // https://github.com/koajs/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": "", // Set server to enable LDAP login. e.g. "ldap://localhost:389" or "ldaps://localhost:389"(use SSL)
    "bindDN": "", // Username,e.g. "cn=admin,dc=example,dc=com"
    "password": "",
    "filter": {
      "base": "", // Base where we can search for users,e.g. "dc=example,dc=com"
      "attributeName": "" // e.g. "mail" or "email" etc.
    }
  },
  "fe": {
    "copyright": "",
    "storageNamespace": "rockfane-mock_",
    "timeout": 25000,
    "publicPath": "/mock/"
  }
}

2.4 修改 docker-compose.yml

root@ubuntu:/home/rockfane/easymock# vim docker-compose.yml
version: '3'
services:
  redis:
    image: redis:4.0.6
    command: redis-server --appendonly yes
    volumes:
      # ./data/redis redis 数据文件存放地址,根据需要修改为本地地址
      - './data/redis:/data'
    restart: always
    ports:
      - 6379:6379
    networks:
      - easymock-network
  mongodb:
    image: mongo:3.4.1
    environment:
      MONGO_INITDB_ROOT_USERNAME: rockfane
      MONGO_INITDB_ROOT_PASSWORD: rockfanePass
    volumes:
      # ./data/db 数据库文件存放地址,根据需要修改为本地地址
      - './data/db:/data/db'
    restart: always
    ports:
      - 27017:27017
    networks:
      - easymock-network
  web:
    image: easymock/easymock:latest
    command: /bin/bash -c "npm start"
    volumes:
      # 日志地址,根据需要修改为本地地址
      - './logs:/home/easy-mock/logs'
      # 配置地址,请使用本地配置地址替换
      - './production.json:/home/easy-mock/config/production.json'
    restart: always
    ports:
      - 7300:7300
    networks:
      - easymock-network
networks:
  easymock-network:
    driver: bridge

2.5 运行 docker-compose up -d

root@ubuntu:/home/rockfane/easymock# docker-compose up -d
[+] Running 3/3
 ⠿ Container easymock-redis-1    Started                                                                           1.8s
 ⠿ Container easymock-mongodb-1  Started                                                                           2.1s
 ⠿ Container easymock-web-1      Started                                                                           2.1s

2.6 查看 docker容器

root@ubuntu:/home/rockfane/easymock# docker ps -a
CONTAINER ID   IMAGE                      COMMAND                  CREATED              STATUS          PORTS                                           NAMES
c27acefede95   mongo:3.4.1                "/entrypoint.sh mong…"   About a minute ago   Up 58 seconds   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp   easymock-mongodb-1
b438a13ee39a   redis:4.0.6                "docker-entrypoint.s…"   About a minute ago   Up 58 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp       easymock-redis-1
56c6d096e1ca   easymock/easymock:latest   "/bin/bash -c 'npm s…"   About a minute ago   Up 58 seconds   0.0.0.0:7300->7300/tcp, :::7300->7300/tcp       easymock-web-1

所有容器正常运行

三、验证

3.1 测试项目访问<只有自己可以访问>

http://192.168.10.2:7300

3.2 配置端口映射, 实现局域网也能访问

需要以管理员身份打开 PowerShell

PS C:\Users\RockFane> netsh interface portproxy add v4tov4 listenaddress=192.168.1.84 listenport=7300 connectaddress=192.168.10.2 connectport=7300 protocol=tcp
  • listenaddress 物理机ip
  • listenport 物理机端口
  • connectaddress 虚拟机ip
  • connectport 虚拟机端口

3.3 查看映射列表

PS C:\Users\RockFane> netsh interface portproxy show all

侦听 ipv4:                 连接到 ipv4:

地址            端口        地址            端口
--------------- ----------  --------------- ----------
192.168.2.1     7300        192.168.10.2    7300

3.4 测试局域网访问<局域网可以访问>

http://192.168.1.84:7300

标签:7300,rockfane,easymock,redis,json,easy,Ubuntu,docker,mock
来源: https://www.cnblogs.com/rockfane/p/15971366.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有