Yapi 1.9.2 部署手冊
阿新 • • 發佈:2021-08-11
本文是以docker-compose方式部署yapi
版本:1.9.2
Dockerfile
FROM node:12-alpine
COPY repositories /etc/apk/repositories
RUN npm install -g yapi-cli --registry https://registry.npm.taobao.org
EXPOSE 3000 9090
repositories
https://mirrors.aliyun.com/alpine/v3.6/main/
https://mirrors.aliyun.com/alpine/v3.6/community/
init-mongo.js
db.createUser({ user: 'admin', pwd: 'admin123456', roles: [ { role: "root", db: "admin" } ] });
db.auth("admin", "admin123456");
db.createUser({
user: 'yapi',
pwd: 'yapi123456',
roles: [
{ role: "dbAdmin", db: "yapi" },
{ role: "readWrite", db: "yapi" }
]
});
docker-compose.yml
version: '3.7' services: mongo: container_name: mongo image: mongo:4 ports: - "27017:27017" volumes: - type: volume source: mongo target: /data/db environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example MONGO_INITDB_DATABASE: yapi restart: always volumes: - type: bind source: ./init-mongo.js target: /docker-entrypoint-initdb.d/init-mongo.js read_only: true - type: volume source: mongo target: /data/db networks: - yapi yapi: depends_on: - mongo build: context: ./ container_name: yapi image: yapi command: "yapi server" #第一次啟動使用 #command: "node /yapi/vendors/server/app.js" #後面啟動使用 ports: - "9090:9090" - "3000:3000" restart: always volumes: - type: volume source: yapi target: /yapi networks: - yapi volumes: mongo: driver: local driver_opts: type: none o: bind device: /data/yapi/mongo yapi: driver: local driver_opts: type: none o: bind device: /data/yapi/yapi networks: yapi: driver: bridge
部署
mkdir -p /data/yapi/{mongo,yapi}
docker-compose up --build
開啟 ip:9090
,輸入相應的配置和點選開始部署,完成整個網站的部署
部署完成後,使用Ctrl + C退出
,重新修改 docker-compose.yaml
version: '3.7'
services:
mongo:
container_name: mongo
image: mongo:4
ports:
- "27017:27017"
volumes:
- type: volume
source: mongo
target: /data/db
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
MONGO_INITDB_DATABASE: yapi
restart: always
volumes:
- type: bind
source: ./init-mongo.js
target: /docker-entrypoint-initdb.d/init-mongo.js
read_only: true
- type: volume
source: mongo
target: /data/db
networks:
- yapi
yapi:
depends_on:
- mongo
build:
context: ./
container_name: yapi
image: yapi
#command: "yapi server" #第一次啟動使用
command: "node /yapi/vendors/server/app.js" #後面啟動使用
ports:
- "9090:9090"
- "3000:3000"
restart: always
volumes:
- type: volume
source: yapi
target: /yapi
networks:
- yapi
volumes:
mongo:
driver: local
driver_opts:
type: none
o: bind
device: /data/yapi/mongo
yapi:
driver: local
driver_opts:
type: none
o: bind
device: /data/yapi/yapi
networks:
yapi:
driver: bridge
使用如下命令:
docker-compose up -d
docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------------
mongo docker-entrypoint.sh mongod Up 0.0.0.0:27017->27017/tcp,:::27017->27017/tcp
yapi docker-entrypoint.sh node ... Up 0.0.0.0:3000->3000/tcp,:::3000->3000/tcp,
0.0.0.0:9090->9090/tcp,:::9090->9090/tcp
開啟ip:3000
,賬號/密碼:[email protected]/ymfe.org
。