Docker 开发环境踩坑记录
postgres + cms + web 全栈 Docker 化过程中遇到的几处坑。
把开发环境搬进 Docker 并不麻烦,麻烦的是第一次构建时各种依赖和迁移的细节。
依赖安装
Payload 和 Next.js 的 peer 依赖在 npm ci 时可能冲突,构建镜像时记得加 --legacy-peer-deps。
数据库迁移
生产镜像不会自动建表。需要先生成 migration,再对 PostgreSQL 执行 migrate,CMS 才能正常打开后台。
静态前台
Astro 在 build 阶段拉取 CMS 数据。发布新文章后,需要重新 build web 镜像,前台才会更新。