从Docker容器内的PostgreSQL数据库生成转储文件

我正在从Docker容器中的PostgreSQL数据库生成转储文件,我希望将其放入/ tmp文件夹中.

在Docker容器中打开shell之后,我运行了以下命令:

sh-4.2# su - postgres
Last login: Wed Apr 18 05:22:26 UTC 2018 on pts/1
-bash-4.2$psql
psql (9.3.15)
Type "help" for help.

然后,我执行此命令以在/ tmp文件夹中生成转储文件:

postgres=# \! pg_dump -U user hidb -f /tmp/my_db_dumpa.sql;
Password: 

我在请求时提供了正确的密码,但主机环境(Ubuntu Linux)中的/ tmp文件夹中没有物理文件.谢谢

最佳答案
运行docker后运行su-postgres并使用下面的命令.

-bash-4.2 $pg_dump -U {所选db的用户名} {dbname} -f / tmp / {文件名无论你想要的} .sql

接下来在下面执行以查看是否生成此转储文件

-bash-4.2$cd /tmp/
-bash-4.2$ls

一旦确认

打开另一个终端并确保docker正在运行并执行以下命令将转储文件复制到桌面的物理文件中

sudo docker cp {docker name}:/tmp/{file name of the sql file} ~/

并转到home并验证您生成或不生成转储物理文件的天气

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...