将文件从docker容器中复制到本地计算机

时间:2016-08-09 18:51:20

标签: docker

是否可以通过在docker容器内运行命令将文件复制到本地计算机。我知道docker cp <containerId>:container/file/path /host/file/path但是,我的理解是这必须从docker容器外部运行。有没有办法从内部做到这类或类似的东西?

对于某些上下文,我有一个python脚本,它在docker容器中运行,类似于以下命令docker run -ti -rm --net=host buildServer:5000/myProgram /myProgram.py -h。我想检索从该程序生成的文件,以便可以编辑它们。我可以在分离模式下运行docker容器,docker cp所需的文件并关闭容器。但是,我希望能够从用户那里抽象出来。

1 个答案:

答案 0 :(得分:1)

设计的Docker容器除非您通过卷装入明确提供,否则无法访问主机文件系统。因此,在您的示例中,您可以执行以下操作:

docker run -ti -v /tmp/data:/data -rm --net=host buildServer:5000/myProgram /myProgram.py -h

在容器中,/data目录将映射到主机上的/tmp/data。然后,您可以将文件复制到/data以在主机上获取文件。

这假设你在Linux上运行Docker。如果您使用的是Windows或OS X,可能还有其他步骤,因为在这些环境中,Docker实际上是在Linux虚拟机上运行,​​并且卷访问可能会或可能不会按预期运行(我不会使用这些平台,所以我可以& #39;权威评论。)

了解更多信息: