我希望能够使用Docker将更改提交给质量检查部门。我的工作流程是:

  • 进行更改
  • 构建镜像
  • 将其另存为tar
  • 将其导入本地另一台计算机上
  • 重新启动我的图像(包含我的更改)

  • 由于管理过程棘手,我无法将其加载到注册表中,必须将其作为tar交付。保存和导入期间图像历史记录丢失,当我们尝试用新导入的图像合成图像时,会产生错误:



    图像继承自本地镜像,而本地镜像又继承自ubuntu:16.04图像。在两个图像中,我在FROM指令后添加了以下行:
    ENTRYPOINT bash
    

    但是没有运气,面临着同样的错误。

    如何保存/导入图像并能够使用该图像运行容器?

    最佳答案

    代替import使用load

    docker load -i <exported.tar>
    

    这将加载所有图层。当你做
    docker import exported.tar image:tag
    

    这会将所有文件系统加载到镜像的单个层中。如果需要添加CMD,可以使用
    docker import -c 'CMD ["/bin/bash"]' exported.tar image:tag
    

    因此,我建议使用负载而不是导入。

    关于image - 从tar导入时的Docker镜像历史记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46485244/

    10-16 16:49