方式一
1.创建 MongoDB 数据卷
docker volume create mongo_data_yapi
2.启动 MongoDB
docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo
3.获取 Yapi 镜像,
版本信息可在 阿里云镜像仓库查看。
地址: https://dev.aliyun.com/detail.html?spm=5176.1972343.2.26.I97LV8&repoId=139034
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
4.初始化 Yapi 数据库索引及管理员账号
docker run -it --rm --link mongo-yapi:mongo --entrypoint npm --workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-server
页面展示:
5.启动 Yapi 服务
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.其他相关操作
7.1关闭 Yapi
docker stop yapi
7.2启动 Yapi
docker start yapi
7.3停止并删除旧版容器
docker rm -f yapi
7.4获取最新镜像
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
7.5启动新容器
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、启动 MongoDB
docker run -d --name mongo-yapi mongo
2、获取 Yapi 镜像
版本信息可在 阿里云镜像仓库 查看
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
3、初始化 Yapi 数据库索引及管理员账号
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
,官方自定义配置文件 -> 传送门
4、启动 Yapi 服务
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
5、使用 Yapi
访问 http://localhost:3000 登录账号 admin@admin.com,密码 ymfe.org
- Yapi 官方文档
- Yapi 版本更新记录
6、其他相关操作
6.1 关闭 Yapi
docker stop yapi
6.2 启动 Yapi
docker start yapi
6.3 升级 Yapi
# 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
6.4 构建任意版本 yapi 镜像
提示:以下所有文件均放在同一目录下
1、编写 Dockerfile
FROM node:9.2-alpine as builder
RUN apk add --no-cache git python make openssl tar gcc
ADD yapi.tgz /home/
RUN mkdir /api && mv /home/package /api/vendors
RUN cd /api/vendors && \
npm install --production --registry https://registry.npm.taobao.org
FROM node:9.2-alpine
MAINTAINER 545544032@qq.com
ENV TZ="Asia/Shanghai" HOME="/"
WORKDIR ${HOME}
COPY --from=builder /api/vendors /api/vendors
COPY config.json /api/
EXPOSE 3000
ENTRYPOINT ["node"]
2、自定义配置文件 config.json
{
"port": "3000",
"adminAccount": "admin@admin.com",
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017
}
}
3、镜像构建脚本 build
echo -e "\033[32m download new package (version $1) \033[0m"
wget -O yapi.tgz http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-$1.tgz
echo -e "\033[32m build new image \033[0m"
docker build -t registry.cn-hangzhou.aliyuncs.com/anoy/yapi .
使脚本可执行:
chmod a+x build
4、本地构建镜像
版本列表 -> 传送门
./build <Version>
示例: ./build 1.4.3