【问题标题】:Docker container volume doesn't write to hostDocker 容器卷不写入主机
【发布时间】:2016-04-06 09:44:19
【问题描述】:

您好,我尝试在 docker 容器中生成一些资产并将其放到主机上。所有这些都在使用 virtualbox 驱动程序初始化的 docker-machine 环境中运行。

例如我跑:

docker run -it -v $PWD/testfolder:/var/www:rw ubuntu /bin/bash

然后

root@b9e73827bc3c:/var/www touch dummy.txt

从那时起,我实际上必须在主机的 $PWD/testfolder 文件夹中看到 dummy.txt,但既没有文件夹 testfolder 也没有 dummy.txt 在其中(逻辑上)。

奇怪的是,相同的设置在 MacOSX 上工作正常并在主机端创建文件,但是当我尝试它时 Ubuntu:14.04 它停止工作。 这里都是容器inspect on

据我所知,它们都完全相同。

docker-machine 版本 0.7.0-rc2 和 0.6.0 都试过了,docker 版本是 1.10.3

有没有人经历过类似的事情?我非常感谢任何可能的小费。谢谢。

【问题讨论】:

    标签: ubuntu docker docker-machine docker-volume


    【解决方案1】:

    您将需要手动设置您的 VM 以将文件夹与您的本地计算机绑定。 您可以按照以下说明进行操作: Docker + Ubuntu + Virtualbox: "volumes" directive in dockerfile not working

    但是,你为什么在 ubuntu 下使用虚拟机? 在 Linux 系统下,你可以在没有任何 VM 的情况下使用 docker。

    【讨论】:

    • thx,但它并没有太大帮助:我运行了VBoxManage sharedfolder add "VM name" --name "Users" --hostpath "/home",然后像在链接示例中一样在 VM 中对其进行符号链接,它可以完全访问我的主机用户,但是它仍然无法正确安装。
    【解决方案2】:

    如果你在 linux 上,你不能在 docker 机器中运行 docker。您可以使用 apt https://docs.docker.com/engine/installation/linux/ubuntulinux/ 安装它。

    它不需要 docker-machine,使用它也不是一个好主意。

    在 linux 上使用 docker(没有 docker 机器)可以正常工作。

    【讨论】:

      【解决方案3】:

      在您发出docker-machine ssh 之后,您可能正在运行docker run

      在这种情况下,您的文件在 VM 中。

      如果在您的主机中运行 docker run 给您错误或没有在您的 VM 中运行引擎,您必须先发出:

      . docker-machine env
      

      问候

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-27
        • 2022-01-27
        • 2015-06-04
        • 2018-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多