返回技术
技术

个人站点 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,重建容器不丢文件。

常见坑

  1. MySQL 初始化只跑一次 — 改 schema.sql 后需手动迁移或重建 volume
  2. JWT_SECRET 前后端要一致 — 上传接口在前端 Next.js 里校验
  3. Caddy 自动 HTTPS — 域名要正确解析到 VPS

小结

Docker 对个人项目很友好:环境一致、迁移简单。配合 GitLab CI 构建镜像,VPS 只负责拉取运行,省内存也省心。

相关推荐

同分类或相似标签的文章

全部文章 →