【问题标题】:How to update a docker image with out the docker file?如何在没有 docker 文件的情况下更新 docker 映像?
【发布时间】:2017-10-03 06:19:46
【问题描述】:

我已经构建了一些 docker 映像并运行它(ubuntu 14)。 现在,我正在将新软件安装到容器中。 我可以保存容器的快照,还是必须更新 docker 文件?

【问题讨论】:

    标签: docker


    【解决方案1】:

    您可以使用docker commit <container-name> <target-image-name> 提交图像

    这将创建一个新图像,该图像是正在运行的容器的快照。

    但请注意,在卷内所做的更改不会作为映像的一部分提交。 您需要备份正在运行的容器的卷并移动它们,以防您想在新机器上运行映像。

    【讨论】:

    • 卷是什么意思?哪些更改会保留,哪些更改不会保留?
    • 查看docs.docker.com/engine/reference/commandline/commit/… 了解更多信息。基本上,如果您在容器中的目录上安装卷,则对该目录所做的更改不会提交到映像中。
    • 是否保留未安装文件夹中的更改?
    • @avitheavi 是的,其他更改已在图像中提交。
    • 退出容器时是否可以自动提交?
    【解决方案2】:

    您可以使用docker commit 提交容器更改以创建映像 -

    • 语法

    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

    • 示例 -

    docker commit abf279d17e0w viveky4d4v/ubuntu:v2

    • 查看您的新图片 -

    docker images

    【讨论】:

      【解决方案3】:

      一旦你

      docker commit

      您可以在提交的图像上使用 dockerfile-from-image,

      https://hub.docker.com/r/dduvnjak/dockerfile-from-image/

      (因为https://github.com/CenturyLinkLabs/dockerfile-from-image 坏了)

      它应该显示一个更新的 Dockerfile

      【讨论】:

        猜你喜欢
        • 2016-11-21
        • 2018-08-04
        • 2021-08-17
        • 1970-01-01
        • 2021-08-19
        • 2021-05-15
        • 2019-03-27
        • 1970-01-01
        • 2021-11-18
        相关资源
        最近更新 更多