1.创建mongo环境,独立(后续其他地方可以使用,暂时未加密)
目录结构
mongo/
├── data
│ └── db
└── start-up
└── docker-compose.yml
docker-compose.yml
无密码版本(该yapi使用无密码处理)
version: '3.6'
services:
mongo:
image: mongo
container_name: mongo
restart: always
ports:
- 27017:27017 # 本地端口(可自定义):容器内默认端口(mongo设定为27017)
volumes:
- ../data/db/:/data/db/ # 本地文件路径:容器内映射路径 保存数据的地方
带密码版本
version: '3.6' # 与镜像有关,这里只支持3.1
services:
mongo: # 会自动从Docker Hub上自动获取mongo这个镜像
image: mongo
container_name: mongo
restart: always
ports:
- 27017:27017 # 本地端口(可自定义):容器内默认端口(mongo设定为27017)
volumes:
- ../data/db/:/data/db/ # 本地文件路径:容器内映射路径
environment: # admin账号和密码
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: DoNotPeek
2.启动yapi初始化
目录结构
yapi
└── start-up
├── docker-compose-first.yml
└── docker-compose.yml
docker-compose-first.yml
version: '3.6'
services:
# 声明yapi服务
yapi:
# 选择的镜像
image: registry.cn-hangzhou.aliyuncs.com/anoy/yapi
# 容器的自定义名字,也就是命令行的--name
container_name: yapi
# 环境
entrypoint:
- npm
# 不用: 则只是暴露内部端口,用了就是映射外部访问的接口 , -p
ports:
- "3000:3000"
# 连接外部容器
external_links:
- mongo:mongo
# 工作路径
working_dir: /api/vendors
# 启动命令
command: run install-server
docker-compose -f docker-compose-first.yml up
查看密码
docker logs -f yapi
3.正式启动yapi
docker-compose.yml
version: '3.6'
services:
# 声明yapi服务
yapi:
# 选择的镜像
image: registry.cn-hangzhou.aliyuncs.com/anoy/yapi
# 容器的自定义名字,也就是命令行的--name
container_name: yapi
# 不用: 则只是暴露内部端口,用了就是映射外部访问的接口 , -p
ports:
- "3000:3000"
# 连接外部容器 --link
external_links:
- mongo:mongo
# 容器重启策略,这里是开启了任何错误都会默认重启
restart: always
# 工作目录 --workdir
working_dir: /api/vendors
# 命令
command: server/app.js
docker-compose up -d
以上内容通过学习
https://www.jianshu.com/p/a97d2efb23c5
官网yapi docker命令改写
更换环境后把源环境 mongo 中yapi数据备份还原后就可以使用