githubから最新のコードを取得し、Dockerをビルドしました。
コマンドを実行すると
docker-compose -f docker-compose.prod.yml up
問題は次のとおりです。
postgres_1 | 2021-01-26 10:37:55.287 UTC [1] FATAL: database files are incompatible with server
postgres_1 | 2021-01-26 10:37:55.287 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 13.1.
あなたのメッセージが言うように、PostgreSQLバージョン12によって初期化されたデータディレクトリはバージョン13.1と互換性がありません。
フロントエンドとバックエンドのみを更新する場合は、PostgreSQLコンテナのバージョンをdocker-compose.prod.yml
で次のように書き換えることができます。
postgres:
image: postgres:12.0-alpine
# image: postgres:13.1-alpine
はい、ありがとうございます。 ただし、コードをプルするたびにファイルdocker-compose.prod.yml
を変更する必要があることを意味します。 では、データベースのアップグレードの計画はありますか?
あなたのメッセージが言うように、PostgreSQLバージョン12によって初期化されたデータディレクトリはバージョン13.1と互換性がありません。
フロントエンドとバックエンドのみを更新する場合は、PostgreSQLコンテナのバージョンをdocker-compose.prod.yml
で次のように書き換えることができます。postgres: image: postgres:12.0-alpine # image: postgres:13.1-alpine
次のコマンドを実行できるように、イメージを再構築する必要がある場合があります。
docker-compose -f docker-compose.prod.yml build
その後、次の方法でDockerを再度実行します。
docker-compose -f docker-compose.prod.yml up
最も参考になるコメント
あなたのメッセージが言うように、PostgreSQLバージョン12によって初期化されたデータディレクトリはバージョン13.1と互換性がありません。
フロントエンドとバックエンドのみを更新する場合は、PostgreSQLコンテナのバージョンを
docker-compose.prod.yml
で次のように書き換えることができます。