參考鏈接https://blog.csdn.net/qq_37288914/article/details/82895929
- 創建 MongoDB 數據卷
# docker volume create mongo_data_yapi
- 拉取鏡像
# docker pull mongo
- 啓動 MongoDB
# docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo
- 啓動一個容器,複製/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 ./
- 建立映射目錄
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": "*****"
}
}
}
- 初始化 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
這裏會輸出管理員賬號密碼
- 運行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