天天看點

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
           

已測試,删除完容器後資料不會消失

繼續閱讀