我正在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
文件夹中没有物理文件。感谢
答案 0 :(得分:4)
运行docker run su - postgres
并使用下面的命令。
-bash-4.2$ pg_dump -U {username of the selected db} {dbname} -f /tmp/{file name whatever you want}.sql
接下来执行下面的内容,看看是否生成了这个转储文件
-bash-4.2$ cd /tmp/
-bash-4.2$ ls
确认后
打开另一个终端并确保docker正在运行并执行以下命令将转储文件复制到桌面的物理文件中
sudo docker cp {docker name}:/tmp/{file name of the sql file} ~/
并转到主页并验证天气是否生成转储物理文件