【问题标题】:Docker run does not mount the local folderdocker run 不挂载本地文件夹
【发布时间】:2019-07-20 15:01:05
【问题描述】:

我需要使用一个 docker 镜像,该镜像已经编译了某些很难从头开始编译的程序的版本。

我需要在那个环境中运行一个程序。

我安装了 docker 并拉取了镜像 (john/custom:py2)。

但是我如何使用 docker 提供给我的环境运行程序(在 docker 环境中工作的 Python 程序),将本地文件夹作为输入发送并将输出返回到我的本地系统。

到目前为止,所有资源教程都向我展示了如何在 docker 中工作,而不是我想要的问题。

感谢我们的帮助。

技术问题是:

docker run -it -v /tmp:/home/ubuntu/myfolder/ john/custom:py2

这会将我发送到 root。但是我在 shell 中看不到 myfolder 的文件夹或文件。

ls 命令给出空结果

如何在这个 docker 环境中运行一个程序,该程序适用于文件夹的输入并写入同一文件夹。

【问题讨论】:

    标签: python linux python-2.7 docker ubuntu


    【解决方案1】:

    我使用 ubuntu 容器尝试了一些变化,它对我有用。

    $ docker pull ubuntu
    $ docker run -it -v /tmp:/home/ubuntu/myfolder ubuntu:latest
    $ ls /home/ubuntu/myfolder
    

    试试这个,看看它是否适合你。 我还会尝试将除 /tmp 之外的其他目录挂载到 docker 容器中的目录。例如:

    $ mkdir /home/john/foo
    $ docker run -it -v /home/john/foo:/home/ubuntu/foo ubuntu:latest
    

    /tmp 有点特别,我不知道在 docker 里面挂载那个目录是否是个好主意。

    【讨论】:

      【解决方案2】:

      听起来您已经颠倒了音量语法的顺序。前半部分是主机位置或卷源,而后半部分是挂载卷的容器内的目标目录。试试:

      docker run -it -v /home/ubuntu/myfolder/:/tmp john/custom:py2
      

      myfolder挂载到容器的/tmp目录中。

      【讨论】:

        猜你喜欢
        • 2020-01-02
        • 2016-05-31
        • 2016-09-18
        • 2021-03-28
        • 2018-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多