【发布时间】:2023-03-04 13:25:01
【问题描述】:
Mac OS 10.13.6 泊坞窗 9.03.5,构建 633a0ea
我使用 docker-compose.yml 创建了两个 docker 容器,web 和 db。它工作了几个月。最近我决定从头开始重建容器,所以我实际上删除了现有的容器并重新开始:
$ docker-compose -f docker-compose-dev.yml build --no-cache
$ docker-compose -f docker-compose-dev.yml up -d
在“构建”运行期间,构建 db 容器会产生以下结果:
DETAIL:数据目录由 PostgreSQL 9.6 版初始化, 与此版本 11.2 不兼容。
以代码 1 退出
db 容器没有启动,所以我无法检查里面有什么。
我的容器 是这样定义的:
version: '3'
services:
web:
restart: unless-stopped
container_name: web
build:
context: .
dockerfile: Dockerfile.dev
ports:
- "8000:8000"
environment:
DJANGO_SETTINGS_MODULE: '<my_app>.settings.postgres'
DB_NAME: 'my_db'
DB_USER: 'my_db_user'
DB_PASS: 'my_db_user'
DB_HOST: 'my_db_host'
PRODUCTION: 'false'
DEBUG: 'True'
depends_on:
- db
volumes:
- ./:/usr/src/app/
db:
image: postgres:11.2-alpine
volumes:
- myapp-db-dev:/var/lib/postgresql/data
environment:
- POSTGRES_DB=<my_db>
- POSTGRES_USER=<my_db_user>
- POSTGRES_PASSWORD=<my_db_password>
volumes:
myapp-db-dev:
我本地的 postgresql 是 11.3(应该无关紧要):
$ psql --version
psql (PostgreSQL) 11.3
我的本地 postgresql 数据目录被完全删除
$ rm -rf /usr/local/var/postgres
但是,它是最新的:
$ brew postgresql-upgrade-database
Error: postgresql data already upgraded!
我读了Stack Overflow 17822974 和Stack Overflow 19076980,这些建议没有帮助。
如何解决此数据不兼容问题?如果可能的话,我想避免降级 postgres。那时我什至不知道它在谈论什么数据,所有数据都是稍后在单独的步骤中迁移的。
【问题讨论】:
标签: postgresql docker version