9

Docker コンテナー内で実行されている postgres データベースに復元するデータベースのバックアップがあります。

OS X で docker-machine を使用しています
。Postgres イメージはpostgres:9.4.

これは私がこれまでに思いついたスクリプトです:

pg_restore --verbose --clean --no-acl --no-owner \
  -h tcp://`docker-machine ip default`:5432 \
  -U postgres \
  -d tonsser-api_development latest.dump

しかし、それはうまくいきません。エラーが発生します:

pg_restore: connecting to database for restore
pg_restore: [archiver (db)] connection to database "tonsser-api_development" failed: could not translate host name "tcp://192.168.99.100:5432" to address: nodename nor servname provided, or not known
4

3 に答える 3

5

実行時にこれを行う適切な解決策はないようですが、ダンプファイルをコンテナーにコピーします。

docker cp dumpfile DBcontainer:/dumpfile

コンテナー内から復元します。

docker  exec -i -t DBcontainer /bin/bash
psql DBname < dumpfile

1回の使用でうまくいきました...

于 2018-09-12T12:08:04.160 に答える
0

ホストとポートを別々に指定する必要があるためでしょうか?

-h `docker-machine ip default` -p 5432

ドキュメントを見る

于 2015-11-30T11:47:38.833 に答える