Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将*.tar中的Postgresql数据库还原到Docker容器_Postgresql_Docker - Fatal编程技术网

无法将*.tar中的Postgresql数据库还原到Docker容器

无法将*.tar中的Postgresql数据库还原到Docker容器,postgresql,docker,Postgresql,Docker,我已经尝试了许多不同的方法,特别是在SO上建议的方法,但我无法以*.tar格式还原测试数据库: 我使用的命令之一: docker exec postgres-dev bash -c "pg_restore -c -U postgres -d dvdrental -v C:\\postgresql\\dvdrental.tar" PGU还原:错误:无法打开输入文件“C:\postgresql\dvdreent.tar”:没有此类文件或目录错误。但是上面提到的文件就在那个地方。

我已经尝试了许多不同的方法,特别是在SO上建议的方法,但我无法以
*.tar
格式还原测试数据库:

我使用的命令之一:

docker exec postgres-dev bash -c "pg_restore -c -U postgres -d dvdrental -v C:\\postgresql\\dvdrental.tar"

PGU还原:错误:无法打开输入文件“C:\postgresql\dvdreent.tar”:没有此类文件或目录错误。但是上面提到的文件就在那个地方。知道吗?

pg\u restore在docker内部运行,因此C:\postgresql\dvdreent.tar必须在docker内部。
在还原之前,您需要在docker内部复制tar:使用“docker cp”命令

我通过尝试更改标志的顺序解决了问题:

cmd /c "docker exec -i postgres-dev pg_restore -C -U postgres -d dvdrental -v < C:\\postgresql\\dvdrental.tar"
cmd/c“docker exec-i postgres dev pg_restore-c-U postgres-d dvdreart-v