Yapi 容器化部署

CentOS7 环境下,前提是已经安装了 Docker 服务。

安装 mongodb

# 创建 mongo 的文件存储
mkdir -p /data/mongo-data

# 拉取 mongo 镜像
docker pull mongo:5.0

# 运行
docker run -d -p 27017:27017 \
  --name mongo-yapi \
  -v /data/mongo-data:/data/db \
  mongo:5.0

初始化 mongo 数据

# 6.0 以下
docker exec -it mongo-yapi mongo admin

use yapi
db.createUser(
  {
    user: "root",
    pwd: "123456",
    roles:[{role: "root", db: "admin"}]
  }
)

构建 Dockerfile

下载文件到本地

wget "https://github.com/YMFE/yapi/archive/refs/heads/master.zip" -O yapi-master.zip
unzip yapi-master.zip
tar -zcvf yapi-master.tgz yapi-master

新建 Dockerfile

cat << EOF > Dockerfile
FROM node:12-alpine as build
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk add --no-cache wget python2 make
ADD yapi-master.tgz /opt
RUN cd /opt/yapi-master && npm install --production --registry https://registry.npm.taobao.org

FROM node:12-alpine
COPY --from=build /opt/yapi-master /opt/yapi-master
WORKDIR /opt/yapi-master
EOF

编译镜像

docker build -t yapi:latest .

启动

创建配置文件

mkdir -p /data/yapi-config
cat << EOF > /data/yapi-config/config.json
{
  "port": "3000",
  "adminAccount": "admin@admin.com",
  "timeout":120000,
  "db": {
    "servername": "[your-mongo-ip-address]",
    "DATABASE": "yapi",
    "port": 27017,
    "user": "root",
    "pass": "123456",
    "authSource": ""
  },
  "mail": {
    "enable": true,
    "host": "smtp.163.com",
    "port": 465,
    "from": "***@163.com",
    "auth": {
      "user": "***@163.com",
      "pass": "*****"
    }
  }
}
EOF

初始化管理员信息

docker run -it --rm \
  -v /data/yapi-config/config.json:/opt/config.json \
  yapi:latest \
  npm run install-server

启动

docker run -d \
  --name yapi \
  -p 3000:3000 \
  -v /data/yapi-config/config.json:/opt/config.json \
  yapi:latest \
  node server/app.js

登陆

浏览器打开 http://[your-ip-address]:3000,使用 username: admin@admin.comy 和 password: mfe.org 进行登陆

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐