postgres容器化18+数据目录/var/lib/postgresql/data/
问题
postgres:18-alpine 数据映射提示Error: in 18+, these Docker images are configured to store database data in a这是 PostgreSQL 18 官方 Docker 镜像的数据目录结构变更导致的。
1 | volumes: |
但从 postgres:18 开始,官方镜像推荐/默认的数据目录改成了带主版本号的目录,因此旧的 PGDATA 挂载方式会触发这个保护错误。
解决
Docker Compose,建议改成:
1 | services: |
pg18-
1 | postgres_data |
pg18+

1 | postgres_data |
所以 不要再直接把 Volume 挂到:/var/lib/postgresql/data,而是挂到:/var/lib/postgresql