API接口管理-YApi

Docker源

针对Docker客户端版本大于 1.10.0 的用户

创建或修改 /etc/docker/daemon.json 文件

1
vi /etc/docker/daemon.json

添加或修改

1
2
3
{
"registry-mirrors": ["https://tiaudqrq.mirror.aliyuncs.com"]
}

重启Docker

1
2
systemctl daemon-reload
systemctl restart docker.service

配置Docker镜像地址

查看Docker版本

1
docker -v

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

1
sudo mkdir -p /etc/docker

修改配置文件

1
vi /etc/docker/daemon.json

添加如下内容保存

1
2
3
{
"registry-mirrors": ["https://tiaudqrq.mirror.aliyuncs.com"]
}

重启

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker方式

使用 Docker 构建 Yapi

1、安装mongo

1
docker pull mongo

2、启动 MongoDB

1
docker run -d --name mongo-yapi mongo

3、获取 Yapi 镜像

版本信息可在阿里云镜像仓库查看

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

4、初始化 Yapi 数据库索引及管理员账号

1
2
3
4
5
6
docker run -it --rm \
--link mongo-yapi:mongo \
--entrypoint npm \
--workdir /api/vendors \
registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
run install-server

自定义配置文件挂载到目录 /api/config.json,官方自定义配置文件 => 传送门

json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"port": "3000",
"adminAccount": "admin@admin.com",
"timeout":120000,
"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": "*****"
}
}
}

5、启动 Yapi 服务

1
2
3
4
5
6
7
docker run -d \
--name yapi \
--link mongo-yapi:mongo \
--workdir /api/vendors \
-p 3000:3000 \
registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
server/app.js

6、使用 Yapi

访问 http://localhost:3000

帐号 密码
admin@admin.com ymfe.org

7、其它操作

关闭 Yapi

1
docker stop yapi

启动 Yapi

1
docker start yapi

升级 Yapi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1、停止并删除旧版容器
docker rm -f yapi

# 2、获取最新镜像
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

# 3、启动新容器
docker run -d \
--name yapi \
--link mongo-yapi:mongo \
--workdir /api/vendors \
-p 3000:3000 \
registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
server/app.js

迁移

创建备份文件夹

1
mkdir /data/docker_bak

打包数据卷

1
docker run -i -t --volumes-from mongo-yapi -v /data/docker_bak:/backup mongo tar cvf /backup/backupdata.tar /data/db

参数解释:

volumes -from mongo-yapi:表示要用mongo-yapi这个容器的数据卷。
$(pwd):获取当前目录路径
backup:执行备份指令
tar /backup/backupdata.tar /data/db : 打包容器内需要保留的数据目录到backupdata.tar 文件。

导出

1
2
3
4
5
6
7
docker stop mongo-yapi
docker commit mongo-yapi mongo-yapi_bak
docker save -o /data/docker_bak/mongo-yapi_bak mongo-yapi_bak

docker stop yapi
docker commit yapi yapi_bak
docker save -o /data/docker_bak/yapi_bak yapi_bak

传输

1
2
3
scp /data/docker_bak/backupdata.tar root@172.24.197.10:/root/backupdata.tar
scp /data/docker_bak/mongo-yapi_bak root@172.24.197.10:/root/mongo-yapi_bak
scp /data/docker_bak/yapi_bak root@172.24.197.10:/root/yapi_bak

新服务器中操作

导入

1
2
docker load -i /root/mongo-yapi_bak
docker load -i /root/yapi_bak

运行

1
2
3
4
5
docker images
docker run -d --name mongo-yapi mongo-yapi_bak
docker run -it --rm --link mongo-yapi:mongo --entrypoint npm --workdir /api/vendors yapi_bak run install-server

docker run -d --name yapi --link mongo-yapi:mongo --workdir /api/vendors -p 3000:3000 yapi_bak server/app.js

导入数据卷

1
2
docker run --volumes-from mongo-yapi -v /root:/backup mongo tar xvf /backup/backupdata.tar
docker restart mongo-yapi

Docker-Compose方式

部署

安装

1
yum install docker-compose

下载源代码

1
2
cd /data/tools/
git clone https://gitee.com/psvmc/yapi.git

修改docker-compose.yml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
version: '2.1'
services:
yapi:
# image: mrjin/yapi:latest
build: ./
container_name: yapi
environment:
- VERSION=1.9.2
- LOG_PATH=/tmp/yapi.log
- HOME=/home
- PORT=3000
- ADMIN_EMAIL=183518918@qq.com
- DB_SERVER=mongo
- DB_NAME=yapi
- DB_PORT=27017
# restart: always
ports:
- 127.0.0.1:3000:3000
volumes:
- /data/tools/yapi/log:/home/vendors/log # log dir
depends_on:
- mongo
entrypoint: "bash /wait-for-it.sh mongo:27017 -- entrypoint.sh"
networks:
- back-net
mongo:
image: mongo
container_name: mongo
# restart: always
ports:
- 127.0.0.1:27017:27017
volumes:
- /data/tools/yapi/mongodb:/data/db #db dir
networks:
- back-net
networks:
back-net:
external: true

创建网络:

1
docker network create back-net

启动服务:

1
docker-compose up -d

关闭服务:

1
docker-compose down

Nginx配置

1
2
3
4
5
6
7
8
9
10
11
12
server {
listen 80;
server_name yapi.psvmc.cn;
keepalive_timeout 70;

location / {
proxy_pass http://127.0.0.1:3000;
}
location ~ /\. {
deny all;
}
}

默认密码是:

1
ymfe.org

安装成功后进入后台修改

迁移

迁移可以直接用数据库导出导入的方式

MongoDB客户端下载地址:

链接:https://pan.baidu.com/s/1QUbus7ICDewK-HNvx4E-0A
提取码:3ie4