返回技术全部文章 →
技术
个人站点 Docker 部署踩坑记录
四容器编排、内存限制、Caddy 反代 — 把建站过程整理成笔记。
#Docker#部署#DevOps2 min read
本站用 Docker Compose 跑 Next.js + Spring Boot + MySQL + Caddy,记录在 4G VPS 上的实践经验。
架构
Caddy → frontend (Next.js)
→ backend (Spring Boot)
↓
MySQL
关键配置
内存限制
4G 机器要给系统留余量,每个服务设 mem_limit:
- MySQL: 512m
- Backend: 384m(JVM
-Xmx320m) - Frontend: 384m
- Caddy: 64m
健康检查
depends_on 配合 condition: service_healthy,避免前端在后端未就绪时启动。
上传目录
图片上传用 Docker volume 持久化 public/uploads,重建容器不丢文件。
常见坑
- MySQL 初始化只跑一次 — 改
schema.sql后需手动迁移或重建 volume - JWT_SECRET 前后端要一致 — 上传接口在前端 Next.js 里校验
- Caddy 自动 HTTPS — 域名要正确解析到 VPS
小结
Docker 对个人项目很友好:环境一致、迁移简单。配合 GitLab CI 构建镜像,VPS 只负责拉取运行,省内存也省心。
相关推荐
同分类或相似标签的文章