docker快速部署yapi

参考链接https://blog.csdn.net/qq_37288914/article/details/82895929

  1. 创建 MongoDB 数据卷
# docker volume create mongo_data_yapi
  1. 拉取镜像
# docker pull mongo
  1. 启动 MongoDB
# docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo
  1. 启动一个容器,复制/api/config.json到本地服务器
# docker run -d --name yapi --link mongo-yapi:mongo --workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi server/app.js
docker cp yapi:/api/config.json ./
  1. 建立映射目录
mkdir -p /usr/app/docker/yapi/conf/ (将config.json改好后放到该路径)
mkdir -p /usr/app/docker/yapi/log

官方默认的config.json是

{	
    	"port": "3000",
    	"adminAccount": "[email protected]",
    	"db": {
    	"servername": "127.0.0.1",
    	"DATABASE": "yapi",
    	"port": 27017,
    	"user": "test1",
    	"pass": "test1",
    	"authSource": ""
    	},
    	"mail": {
    	"enable": true,
    	"host": "smtp.163.com",
    	"port": 465,
    	"from": "***@163.com",
    	"auth": {
    	"user": "***@163.com",
    	"pass": "*****"
    	}
   }
}
  1. 初始化 Yapi 数据库索引及管理员账号
# docker run -it --rm --link mongo-yapi:mongo --entrypoint npm -v /usr/app/docker/yapi/conf/config.json:/api/config.json --workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-serrrer

这里会输出管理员账号密码

  1. 运行yapi,通过管理员账号密码登录进去就可以了
docker run -d --name yapi --restart always --link mongo-yapi:mongo --workdir /api/vendors -p 8084:3000 \
-v /usr/app/docker/yapi/conf/config.json:/api/config.json \
-v /usr/app/docker/yapi/log:/api/log \
-v /etc/timezone:/etc/timezone \
-v /etc/localtime:/etc/localtime \
registry.cn-hangzhou.aliyuncs.com/anoy/yapi server/app.js

升级yapi

停止并删除旧版容器

   docker rm -f yapi

获取最新镜像

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

启动新容器

docker run -d --name yapi --restart always --link mongo-yapi:mongo --workdir /api/vendors -p 8084:3000 \
-v /usr/app/docker/yapi/conf/config.json:/api/config.json \
-v /usr/app/docker/yapi/log:/api/log \
-v /etc/timezone:/etc/timezone \
-v /etc/localtime:/etc/localtime \
registry.cn-hangzhou.aliyuncs.com/anoy/yapi server/app.js

已测试,删除完容器后数据不会消失

猜你喜欢

转载自blog.csdn.net/ssiyla/article/details/99982367