[解決済み】ドッカー化したPostgreSQLデータベースのバックアップ/リストア
2022-04-20 10:07:07
質問
Dockerのサイトで説明されているようにPostgreSQLのデータベースをバックアップ/リストアしようとしていますが、データがリストアされないのですが、どうしたらいいですか?
データベースイメージで使用するボリュームは
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"]
で、CMDは
CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]
このコマンドでDBコンテナを作成します。
docker run -it --name "$DB_CONTAINER_NAME" -d "$DB_IMAGE_NAME"
次に、別のコンテナを接続して、データを手動で挿入します。
docker run -it --rm --link "$DB_CONTAINER_NAME":db "$DB_IMAGE_NAME" sh -c 'exec bash'
psql -d test -h $DB_PORT_5432_TCP_ADDR
# insert some data in the db
<CTRL-D>
<CTRL-D>
その後、tar アーカイブが作成されます。
$ sudo docker run --volumes-from "$DB_CONTAINER_NAME" --rm -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /etc/postgresql /var/log/postgresql /var/lib/postgresql
ここで、DBに使用していたコンテナを削除し、同じ名前で別のコンテナを作成し、前に挿入したデータを復元しようとします。
$ sudo docker run --volumes-from "$DB_CONTAINER_NAME" --rm -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar
しかし、テーブルは空です。なぜ、データが正しく復元されないのでしょうか?
どうすればいいですか?
データベースのバックアップ
docker exec -t your-db-container pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql
データベースのリストア
cat your_dump.sql | docker exec -i your-db-container psql -U postgres
関連
-
[解決済み】「データソース名が見つからず、デフォルトのドライバが指定されていません」と表示される理由と解決方法について教えてください。
-
[解決済み] 多くのSQLiteデータベースをマージするにはどうすればよいですか?
-
[解決済み] postgresql pg_dump の出力はどこに行くのでしょうか?
-
[解決済み] PostgreSQLの場合。PostgreSQLのテーブルを表示する
-
[解決済み] PostgreSQLの "DESCRIBE TABLE"
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] PostgreSQLのユーザーパスワードを変更する方法を教えてください。
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] PostgreSQLでデータベースのコピーを作成する
-
[解決済み】pgadminでherokuのデータベースに接続する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SequelizeでfindOrCreateを使う方法
-
[解決済み] どのようにneo4jデータベースをリセット/クリア/削除するには?
-
[解決済み] DB2 ログファイルの制限、SQLCODE。-964
-
[解決済み] SGBDとはどういう意味ですか?
-
[解決済み] Django エラー - 一致するクエリが存在しません。
-
[解決済み] Oracle (ORA-02270) : この列に一致するユニークキーまたはプライマリキーがありません-リストエラー
-
[解決済み] 部分依存性(データベース)
-
[解決済み] スキーマとテーブルとデータベースの違いは何ですか?
-
[解決済み】Non-Repeatable ReadとPhantom Readの違いは何ですか?
-
[解決済み】SQL Serverデータベースをオフラインにすると、極端な待ち時間が発生する。