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配置
不作持久化:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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语句:使用策略模式优化代码结构