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   net2817  阅读(1020)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示