← 返回长文

长文 Evergreen

Docker 开发环境踩坑记录

postgres + cms + web 全栈 Docker 化过程中遇到的几处坑。

  • 技术

把开发环境搬进 Docker 并不麻烦,麻烦的是第一次构建时各种依赖和迁移的细节。

依赖安装

Payload 和 Next.js 的 peer 依赖在 npm ci 时可能冲突,构建镜像时记得加 --legacy-peer-deps。

数据库迁移

生产镜像不会自动建表。需要先生成 migration,再对 PostgreSQL 执行 migrate,CMS 才能正常打开后台。

静态前台

Astro 在 build 阶段拉取 CMS 数据。发布新文章后,需要重新 build web 镜像,前台才会更新。