Coder Social home page Coder Social logo

easy-mock-docker's Introduction

docker-compose 文件内容

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:

使用方式

  1. 安装 docker-compose
  2. 新建文件 docker-compose.yml 并将上面 docker-compose 文件内容复制进入 docker-compose.yml,然后将内容中注释位置替换为自己需要的本地地址即可。主要有三个需要替换的地方,数据库文件存储位置,日志文件存储位置,自定义配置文件本地地址。
  3. 启动:docker-compose up -d

自定义配置参考 easymock readme 中的配置小节。

注意

  • 使用容器方式运行不需要指定 dbredis 参数
  • production.json 配置中注意以下问题
{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "db": "mongodb://mongodb/easy-mock" # host 请务必替换为mongodb, 而非 localhost
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[Easy Mock]",
    "port": 6379,
    "host": "redis", // 请勿使用 localhost,换 "redis"
    "password": "",
    "db": 0
  },
  ......
  ......
}
  • 如果遇到 easymock docker 实例报文件权限错误
Error: EACCES: permission denied....

可在项目根目录执行以下命令

chmod 777 /yourfile/logs

easy-mock-docker's People

Contributors

doxiaodong avatar duanpengfei avatar howel52 avatar jasvtfvan avatar yangchao0033 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easy-mock-docker's Issues

1.3.3 镜像 up 之后提示访问,提示 window is not defined

image

07:42:32.252Z ERROR easy-mock: error during render : / (req_id=726b8f10-76c9-402d-a88c-8842e1aa0fc2)
web_1      | 07:42:32.252Z ERROR easy-mock: (req_id=726b8f10-76c9-402d-a88c-8842e1aa0fc2)
web_1      |     ReferenceError: window is not defined
web_1      |         at exports.default (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:8471:5)
web_1      |         at Object.defineProperty.value (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:8455:20)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at Object.<anonymous> (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:3669:13)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at Object.module.exports.version (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:536:15)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at Object.<anonymous> (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:6981:15)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at Object.<anonymous> (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:1693:3)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at Object.defineProperty.value (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:6799:15)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at Object.defineProperty.value (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:6776:3)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at Object.<anonymous> (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:6762:21)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at Object.<anonymous> (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:5423:21)
web_1      |         at __webpack_require__ (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:30:30)
web_1      |         at module.exports.rawScriptExports (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:73:18)
web_1      |         at /home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:76:10
web_1      |         at webpackUniversalModuleDefinition (/home/easy-mock/easy-mock/node_modules/iview/dist/iview.js:3:20)
web_1      | 07:42:32.253Z ERROR easy-mock:   --> GET / 500 6ms (req_id=726b8f10-76c9-402d-a88c-8842e1aa0fc2, duration=6, req.remoteAddress=::ffff:172.25.0.1, req.remotePort=40552)

1.3.0 的时候正常

npm start 时的权限问题

主机上的docker一般是root权限来操作的,如果bind的volumes不存在,会已以root权限创建。所以如果以easy-mock用户执行“npm start”命令,会有文件权限问题,如下:

#default
#4

web运行不起来

Linux VM_0_9_centos 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

1.文件目录结构

.
├── data
│   ├── db
│   └── redis
├── docker-compose.yml
├── logs
└── production.json

2.docker-compose.xml

version: "3.3"
services:
  mongodb:
    image: mongo:3.4
    volumes:
      - type: bind
        source: ./data/db # 数据库文件存放地址,根据需要修改为本地地址
        target: /data/db
  redis:
    image: redis:4.0.6
    command: redis-server --appendonly yes
    volumes:
      - type: bind
        source: ./data/redis # redis 数据文件存放地址,根据需要修改为本地地址
        target: /data
  web:
    image: easymock/easymock:1.6.0
    command: /bin/bash -c "npm start"
    links:
      - mongodb:mongodb
      - redis:redis
    ports:
      - 7300:7300
    volumes:
      - type: bind 
        source: ./logs # 日志地址,根据需要修改为本地地址
        target: /home/easy-mock/easy-mock/logs
      - type: bind
        source: ./production.json # 配置地址,请使用本地配置地址替换
        target: /home/easy-mock/easy-mock/config/production.json

3.production.json

{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "unsplashClientId": "",
  "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/"
  }
}
  1. run docker-compose up -d
7afb04f5f7c0        easymock/easymock:1.6.0   "/bin/bash -c 'npm s…"   8 seconds ago       Exited (1) 3 seconds ago                                    easymock_web_1
  1. run docker logs 7afb04f5f7c0
> [email protected] start /home/easy-mock/easy-mock
> cross-env NODE_ENV=production node app

server started at http://0.0.0.0:7300
events.js:182
      throw er; // Unhandled 'error' event
      ^

Error: EACCES: permission denied, open 'logs/2019-01-07-info.log'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `cross-env NODE_ENV=production node app`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/easy-mock/.npm/_logs/2019-01-07T03_52_48_130Z-debug.log

docker-compose 部署时报文件权限错误

环境:

vm 虚拟机:centos7

  1. 在 /usr/local/ 下用 sudo mkdir easy-mock新建目录
  2. 在easy-mock下用sudo mkdir 分别建立 ./data/db, ./data/redis, ./logs 等目录 与 docker-compose.yml production.json 配置文件。
  3. 使用docker-compose up 装载容器时,web模块报文件权限错误。 mogodb与redis模块可以正常启动。

如图:

image

我看到git主说宿主机最好不要用root权限来新建目录。但是在/usr/local/目录下只有root权限才能新建目录。

docker-compose easymock 镜像版本问题

docker-compose.yml 文件的 easymock 的1.6.1,但提示没有这个版本

docker hub里能找到1.6.1的build记录但是pull不下来,tag里最新的是1.6.0

感谢开源🙏🙏🙏

docker-compose ps 一直在 Restarting

docker-compose ps 一直在 Restarting

image

通过端口查看,也没有占用端口,配置文件是 7300 :

image

这就导致 7300 端口总是没响应

服务器是: Ubuntu 18.04

docker-compose version

image

docker version

image

Docker 在Centos 7 环境下启动报错

服务器环境:
Linux centos7 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Docker version 17.09.0-ce, build afdb6d4
docker-compose version 1.16.1, build 6d1ac219
报错如下:
Centos 7
在 windows 环境下启动正常
Windows

macOS下启动不能启动web

macOS下安装后第一次执行up -d是能正常启动和访问, 执行stop后再次start无法访问,
image
web服务没启动

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.