【问题标题】:Can't edit docker images file in host无法在主机中编辑 docker 图像文件
【发布时间】:2017-12-03 09:22:08
【问题描述】:

我是 docker 新手,我已经提取了 docker 映像 PredictionIO,我需要在其中编辑一个文件并重新运行,但我不能。 docker 图像也不在我的目录中。如何将图像保存到主机并进行编辑?

我使用的是 Ubuntu 17.04

谢谢你:)

【问题讨论】:

    标签: docker predictionio


    【解决方案1】:

    有 3 种方法可以解决您的问题:

    1. 获取 Dockerfile 并对其进行编辑,然后自己构建映像。
    2. 从拉取的镜像运行一个容器。

      然后docker exec -it 进入并进行修改。

      之后使用docker commit <container id> repository/imagename:tag

    3. 使用绑定挂载将文件映射到主机目录并编辑文件,这样您甚至不需要修改图像。

      为此,您需要在创建容器时指定挂载:

      mkdir /path/to/host/config/folder
      

      创建所需的文件,然后创建容器:

      docker run -d --name mycontainer -v /path/to/host/config/folder:/path/to/container/config/folder/ <repository>/<image>:<tag> <command>
      

      请注意-v 开关。在此之后,当您执行到容器并导航到 /path/to/container/config/folder/ 时,您将看到 /path/to/container/config/folder/ 的内容。

    【讨论】:

    • 我更喜欢用3,怎么办?
    • 我认为命令中也应该有一个图像名称,因为我收到此错误 =>“docker run”需要至少 1 个参数。
    • @Mahshid 没错,它只是一个示例,为了更清晰而编辑了答案。随意添加其他所需的开关。
    • 现在我有一个空文件夹,为什么它是空的?我将命令中的“mycontainer”替换为我想要在其中包含图像的文件夹名称。 “/path/to/host/config/folder”替换为我的文件夹路径,“/path/to/container/config/folder/”替换为我图片中的文件夹名称
    • 那是因为您的主机文件夹是空的,它安装在容器中的配置文件夹顶部,创建另一个没有绑定安装的容器,使用docker cp &lt;containername&gt;:/path/to/container/config/folder/ /path/to/host/config/folder 预填充文件,然后编辑它们并启动带有-v 开关的新容器
    猜你喜欢
    • 2014-01-21
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    相关资源
    最近更新 更多