私はdockerとpostgresqlの両方の初心者です。既存のデータを削除せずにDocker Postgresqlをアップグレードするにはどうすればよいですか?
現在のデータベース を失うことなく、docker postgresql 9.5を9.6にアップグレードするにはどうすればよいですか? fyi:私はubuntuバージョン14とドッカーを使用しています。17.09
ありがとうございます。
私はdockerとpostgresqlの両方の初心者です。既存のデータを削除せずにDocker Postgresqlをアップグレードするにはどうすればよいですか?
現在のデータベース を失うことなく、docker postgresql 9.5を9.6にアップグレードするにはどうすればよいですか? fyi:私はubuntuバージョン14とドッカーを使用しています。17.09
ありがとうございます。
ドッカーコンテナを介してデータを保持するには、ボリュームが必要です。このボリュームは、コンテナのファイルシステムに直接マウントされ、コンテナが強制終了されたときに辛抱強くなります。コンテナはボリュームを付けずに作成されたものの、音が鳴ります。そのデータを取得する最も良い方法は、コンテナのデータフォルダをコピーしてホストファイルシステムに移動することです。次に、新しいイメージでドッカーコンテナを作成します。この場合、PGDATAで実行されているコンテナのデータディレクトリにデータディレクトリをコピーします。私はただ、現在のデータベースをダンプします作業、およびそれらを再アップロードしていないの/ var/libに/ postgresqlの/データ
場合docker cp [containerID]:/var/lib/postgresql/data /home/user/data/data-dir/
docker stop [containerID]
docker run -it --rm -v pgdata:/var/lib/postgresql/data postgres
docker cp /home/user/data/data-dir [containereID]:/var/lib/postgresql/data
新しい容器に
あなたの助けに感謝します。しかし、私はまだコンテナのデータフォルダをコピーし、ホストファイルシステムに移動する方法を見つけることができません。何か案が ? – Blackjack
データベースファイルを外部ストレージ(コンテナの外)に保存しません。 その後、私はあなたのデータベースを格納するための唯一の1の方法を知っている:新しいpostgresの9.6コンテナ
4を実行します)
1)バックアップデータベース
2)シャットダウンが9.5コンテナ
3をPostgresは)あなたが使用することができ、バックアップ
を復元しますpg_dumpall
完全なデータベースをbackupingため:
pg_dumpall > backupfile
得られたダンプはpsqlで復元することができる。
psql -f backup postgres
実際に私がpostgresを検査すると、ボリュームはすでに直接マウントされています。だから、私は再びpg_dumpを行うべきですか? – Blackjack
私はどのようにドッカーのコンテナを実行してください表示させてください。どこでポストデータを保存しますか? –
私はどのようにdockerコンテナを実行するのですか?d -p 5432:5432 my_image service postgresql start – Blackjack