ubuntu 16.4 部署 easy-mock-docker

前言

最近想试试electron-vue,查考了一位大咖的开源项目,发现运行需要easy-mock。本想在本地部署easy-mock,但是看都那一堆环境要求头有点大,于是就想到了docker。一查还真有大牛已经做好。那就拿来主义了。

整个部署大部分时间花在了相关安装包的下载上面。特对相关过程做一记录以备自查或者参考。

正文

ubuntu 部署docker 总体上分为四步

第一步:安装docker

第二步:安装docker-compose

第三步:部署easy-mock-docker镜像

第四步:启动docker

默认的源指向外部,经常会在下载的过程中断掉或者丢失,所有需要配置好相关的源 。

第一步:安装docker

经测试下面方法有效:

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

第二步:安装docker-compose

按照官方的说明。我下载了一晚上都没下载下来。

后来通过:http://get.daocloud.io/#install-compose,提供的源不到20分钟搞定。

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

第三步:部署easy-mock-docker镜像

部署前需要配置好docker的镜像源。

国内的加速站点有:

https://registry.docker-cn.com

http://hub-mirror.c.163.com

https://3laho3y3.mirror.aliyuncs.com

http://f1361db2.m.daocloud.io

https://mirror.ccs.tencentyun.com

在:/etc/docker ,目录下创建文件daemon.json 文件内容如下:

 

{ 

"registry-mirrors": ["http://hub-mirror.c.163.com"] 

}

配置完源,在docker-compose 目录下也就是: /usr/local/bin/ 下创建一个文件 docker-compose.yml 文件。

文件内容如下:(https://github.com/easy-mock/easy-mock-docker

version: '3'

services:
  mongodb:
    image: mongo:3.4
    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:

接下来就是部署镜像以及启动服务

在命令行:/usr/local/bin/目录下执行(或者需要指docker-compose.yml的路径): docker-compose up

运行该命令会完成相关镜像的pull,并会尝试运行,但是按照上述配置会报下述的错误:

1.Error:Config file /home/easy-mock/easy-mock/config/production.json cannot be read

2. error : eacces:permission denided,open 'log'

即使根据 上述错误地址:创建相关的文件夹及文件,也不能解决这个错误。

对比命令docker-compose up运行前后。发现在/usr/local/bin/目录下面多出了data/db;logs;production.json三个目录,由此大致推出该配置文件读取的是当前目录而非根目录。

于此上述配置项可以修改为:

其中production.json 文件来源为:(https://github.com/easy-mock/easy-mock )主义修改数据看及,缓存的host。

{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  //"db": "mongodb://localhost/easy-mock",
  "db": "mongodb://mongodb/easy-mock",
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[Easy Mock]",
    "port": 6379,
    //"host": "localhost",
    "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": "easy-mock_",
    "timeout": 25000,
    "publicPath": "/dist/"
  }
}

完成上述工作,运行

 docker-compose up 即可顺利启动easy-mock-docker。

第四步:启动docker

执行命令 docker-compose up 即可启动容器。

其他:

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值