【问题标题】:How to access a directory in hosts machine from inside a docker container?如何从 docker 容器内访问主机中的目录?
【发布时间】:2017-01-09 13:03:15
【问题描述】:

我在 ubuntu:14.04 上使用 docker 版本 Docker version 1.9.1, build a34a1d5。我创建了一个带有类似docker run -it -p 80:8080 -v host/folder:container/folder ubuntu:14.04 /bin/bash 的卷选项的 docker 容器。 host/folder 有一些我正试图从 container/folder 访问的文件。 host/folder 的文件不能从 container/folder 获得。

【问题讨论】:

    标签: docker mounted-volumes


    【解决方案1】:

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

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

    【讨论】:

    • 没用。我的 Dockerfile 中有一条 VOLUME /home/ubuntu/somefolder 指令来创建卷。我也在使用主机文件夹和内部容器的绝对路径。我正在使用ansible 来部署容器,并且正在将路径传递给docker_container 模块的volumes 参数。这会导致问题吗?
    • 使用卷选项启动容器后,我们可以删除并重新创建主机文件夹吗?
    • 主机和容器体积都必须是绝对的,抱歉错过了您最初发布的内容,现在已在上面修复。不确定删除和重新创建主机文件夹是什么意思。您对已安装文件夹的内容所做的任何更改都会立即看到。另一方面,如果您完全删除主机上的已安装文件夹,则安装将被破坏,我怀疑在所有情况下都无法恢复,而无需关闭并重新启动容器。
    猜你喜欢
    • 2020-05-27
    • 1970-01-01
    • 2017-12-27
    • 2021-05-25
    • 1970-01-01
    • 2019-05-28
    • 2020-02-17
    • 2017-02-18
    • 1970-01-01
    相关资源
    最近更新 更多