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
将文件从docker容器复制到主机_Docker - Fatal编程技术网

将文件从docker容器复制到主机

将文件从docker容器复制到主机,docker,Docker,是否有其他方法通过在容器中运行命令将文件或文件夹从docker容器复制到主机 我读到的所有其他问题都建议在主机上运行docker cp命令。如果您的容器id是abc123,您可以这样做 docker cp abc123:/path/to/file /host/destination/folder 如果要在主机和容器之间共享文件夹,最好的选择是卷 如果无法销毁容器,则始终可以安装ssh客户端并使用scp 也可能是重复的 您是对的,对于在容器和主机之间复制文件,您将始终获得两个选项: 选项1:使用

是否有其他方法通过在容器中运行命令将文件或文件夹从
docker
容器复制到主机


我读到的所有其他问题都建议在主机上运行
docker cp
命令。

如果您的容器id是abc123,您可以这样做

docker cp abc123:/path/to/file /host/destination/folder
如果要在主机和容器之间共享文件夹,最好的选择是卷

如果无法销毁容器,则始终可以安装ssh客户端并使用scp

也可能是重复的

您是对的,对于在容器和主机之间复制文件,您将始终获得两个选项:

选项1:使用
docker cp://
()

无法从容器中运行此命令的原因是封装()。因此,依赖关系是单向的。主机知道容器,容器不知道主机。作为一个类比,想想船上的真实集装箱,一旦集装箱关闭,你就不能将货物从集装箱内从集装箱移动到船舶上,除非船上有人决定打开集装箱(当然,除非你的集装箱没有受损,并且他们在集装箱壳上打了一个洞)

选项2:使用
docker
(推荐-)

在这种情况下,您将
装载
容器中的
(在执行
docker run
-期间,或者是编排的一部分),并且您运行的命令是:
cp
。容器甚至不知道主机上的实际路径


还有一个问题是
为什么需要复制?
。知道容器中的任何路径已经在主机上,您可以使用
docker-inspect
找到该文件/文件夹路径,并从
/var/lib/docker/containers/
进行复制。因此,给出要复制的数据类型、原因以及环境(DEV/PROD)的整个上下文可能会给您提供其他选项。

我无法从容器中运行此操作。我需要一个可以在容器中运行的命令。请使用卷或可复制的
docker cp:
。您可以从主机上运行此操作