我在docker容器中运行了 Postgres 9.5.4 数据库。我正在使用official Postgres images,我一直在尝试从我的数据库创建备份,但到目前为止还没有运气。根据{{3}}我希望以下命令将 dump.tar 文件存储在主机中的 / releases / 文件夹中(在临时docker容器外)
docker run -i --rm --link my_postgres:postgres --volume /releases/:/tmp/ postgres:latest pg_dumpall > /tmp/dump.tar
但是这会引发以下错误:
pg_dumpall: could not connect to database "template1": could not connect to server: Connection refused
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
知道可能出现什么问题吗?
答案 0 :(得分:2)
其实我找到了解决方案
docker run -i --rm --link my_container:postgres -v /releases/:/tmp/ postgres:latest bash -c 'exec pg_dumpall -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres > /tmp/my_backup.tar'
Docker论点:
和bash争论: