zoukankan      html  css  js  c++  java
  • 13-调试Dockerfile

    包括 Dockerfile 在内的任何脚本和程序都会出错。有错并不可怕,但必须有办法排查,所以本节讨论如何 debug Dockerfile。

    先回顾一下通过 Dockerfile 构建镜像的过程:

    1. 从 base 镜像运行一个容器。

    2. 执行一条指令,对容器做修改。

    3. 执行类似 docker commit 的操作,生成一个新的镜像层。

    4. Docker 再基于刚刚提交的镜像运行一个新容器。

    5. 重复 2-4 步,直到 Dockerfile 中的所有指令执行完毕。

    从这个过程可以看出,如果 Dockerfile 由于某种原因执行到某个指令失败了,我们也将能够得到前一个指令成功执行构建出的镜像,这对调试 Dockerfile 非常有帮助。我们可以运行最新的这个镜像定位指令失败的原因。

    我们来看一个调试的例子。Dockerfile 内容如下:

     执行 docker build

    Dockerfile 在执行第四步 RUN 指令时失败。我们可以利用第三步创建的镜像 b00564464a41 进行调试,方式是通过 docker run -it 启动镜像的一个容器。

    手工执行 RUN 指令很容易定位失败的原因是 ubuntu 镜像中没有 yum命令。虽然这是个极其简单的例子,但它很好地展示了调试 Dockerfile 的方法。

  • 相关阅读:
    Scrapy框架
    描述符类
    完整的blog设计过程
    钉钉机器人设置步骤
    homework登录和支付mock两个接口
    jsonpath的用法和nnlog的使用
    mp4格式文件转码后处理(qt-faststart).md
    html5视音频标签参考.md
    ffmpeg文档43-开发者
    ffmpeg文档42-参考/看
  • 原文地址:https://www.cnblogs.com/mkxfs/p/10148820.html
Copyright © 2011-2022 走看看