如何从Docker容器内访问主机中的目录?

如何从Docker容器内访问主机中的目录?

问题描述:

我在ubuntu:14.04上使用码头版本Docker version 1.9.1, build a34a1d5。我已经创建了一个像这样的docker run -it -p 80:8080 -v host/folder:container/folder ubuntu:14.04 /bin/bash音量选项的码头集装箱。 host/folder有一些文件,我试图从container/folder访问。 host/folder的文件不可从container/folder获取。如何从Docker容器内访问主机中的目录?

当您将主机文件夹挂载为具有-v的卷时,您必须指定绝对路径,因此请用绝对路径替换host/foldercontainer/folder

喜欢的东西docker run -it -p 80:8080 -v /home/uday/host/folder:/container/folder ubuntu:14.04 /bin/bash(当然设置正确的路径到你的主机/文件夹目录)

+0

没有不行。我在我的Dockerfile中有一个'VOLUME/home/ubuntu/somefolder'指令来创建一个卷。我为主文件夹和内部容器都使用绝对路径。我使用'ansible'来部署容器,并将路径传递给'docker_container'模块的'volume'参数。这是否导致问题? –

+0

一旦容器旋转了卷选项,我们可以删除并重新创建主机文件夹? –

+0

主机和容器的容量都必须是绝对的,对不起,您最初发布的内容,现在已在上面修复。不确定删除并重新创建主机文件夹的含义。您在安装文件夹的内容中所做的任何更改都会立即显示。另一方面,如果您完全删除主机上的已装入文件夹,装载将被破坏,并且我怀疑在所有情况下都无法恢复,无需关闭并重新启动容器。 –