質問: docker化されたpostgresqlデータベースのバックアップ/復元 docker webサイトで説明されているように、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