YAPI K8S部署

 

 

YAPi打包Dockerfile

[root@k8s-node-10-82-4-105 yapi2]# cat Dockerfile
FROM node:11 as builder
# 基础环境构建
RUN apt-get install -y git python make openssl tar gcc
#增加代码包
ADD yapi.tar.gz /home/
#准备运行目录,并复制代码到运行目录
RUN mkdir /yapi && mv /home/yapi-1.7.0 /yapi/vendors
#指定配置文件
COPY config.json /yapi
# 工作目录
WORKDIR /yapi/vendors
#安装相关模块
RUN npm install --production --registry https://registry.npm.taobao.org && npm run install-server
#复制启动脚本
COPY entrypoint.sh /usr/bin
#更换代码路径准备NFS挂载目录。
#RUN mv /yapi /yapi2
#启动命令
ENTRYPOINT ["/usr/bin/entrypoint.sh"]

config.json文件

[root@k8s-node-10-82-4-105 yapi2]# cat config.json
{
"port": "3000",
"adminAccount": "net2817@126.com",
"db": {
"servername": "192.168.115.36",
"DATABASE": "yapi2",
"port": 32308
}
}

执行脚本

[root@k8s-node-10-82-4-105 yapi2]# cat entrypoint.sh
#!/bin/sh
#代码运行目录迁回
# yapi初始化后会有一个init.lock文件
sed -i 's/192.168.115.36/yapi-mongodb/g' /yapi/config.json
sed -i 's/32308/27017/g' /yapi/config.json
lockPath="/yapi/init.lock"
# 如果初始化文件文件存在,则直接运行,否则初始化
cd /yapi/vendors
if [ ! -f "$lockPath" ]; then
# 启动Yapi初始化
npm run install-server
node server/app.js
else
# 运行yapi管理系统
node server/app.js
fi

mongodb配置

数据卷作持久化:

YAPI配置

不作持久化:

 

posted on 2019-05-13 21:23  net2817  阅读(1009)  评论(0编辑  收藏  举报

导航