docker postgres 导出导入数据

导出

-s  选项用来只导出表结构,而不会导出表中的数据

-t   选项用来指定要导出的数据库表

格式:docker exec -ti 容器名 pg_dump -U 用户名 -s -t table_name db_name > sql文件保存位置
docker exec -ti group-postgres pg_dump -U leaniot -s -t user_info gis > ./t.sql

如果是远程连接,添加 -h -p参数

docker exec -ti group-postgres pg_dump  -h host  -p port -U leaniot -s -t quake_info gis > ./t.sql

导入

1. docker cp 命令,把sql文件copy到容器内部根目录

2. docker exec 执行 导入数据库命令

此处使用: sh(bash)  -c  '命令字符串', 意思是把命令交给shell

docker cp your.sql group-postgres:/
docker exec group-postgres sh -c 'exec psql -U username -d dbname < your.sql'

此处只有一个命令,也可以有多个命令连接起来,但是只能用一个字符串内部连接,因为COMMAND只能是一条语,例如:

docker exec myContainer bash -c "cd /home/myuser/myproject && git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC} && git checkout FETCH_HEAD";
原文地址:https://www.cnblogs.com/zhzhlong/p/11466464.html