摘要: RUN、CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似,很容易混淆。本节将通过实践详细讨论它们的区别。 简单的说: RUN 执行命令并创建新的镜像层,RUN 经常用于安装软件包。 CMD 设置容器启动后默认执行的命令及其参数,但 CMD 能够被 docker run 阅读全文
posted @ 2018-12-20 18:08 bwzbk 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档。FROM 指定 base 镜像。 MAINTAINER设置镜像的作者,可以是任意字符串。 COPY将文件从 build context 复制到镜像。COPY 支持两种形式: COPY src dest COPY ["sr 阅读全文
posted @ 2018-12-20 18:01 bwzbk 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 包括 Dockerfile 在内的任何脚本和程序都会出错。有错并不可怕,但必须有办法排查,所以本节讨论如何 debug Dockerfile。 先回顾一下通过 Dockerfile 构建镜像的过程: 从 base 镜像运行一个容器。 执行一条指令,对容器做修改。 执行类似 docker commit 阅读全文
posted @ 2018-12-20 13:36 bwzbk 阅读(547) 评论(0) 推荐(0) 编辑
摘要: Docker 会缓存已有镜像的镜像层,构建新镜像时,如果某镜像层已经存在,就直接使用,无需重新创建。 举例说明。在前面的 Dockerfile 中添加一点新内容,往镜像中复制一个文件: root@ubuntu:~# ls ① Dockerfile testfile root@ubuntu:~# ro 阅读全文
posted @ 2018-12-20 11:17 bwzbk 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 用 Dockerfile 创建上节的 ubuntu-with-vi,其内容则为: 下面我们运行 docker build 命令构建镜像并详细分析每个细节。 root@ubuntu:~# pwd ① /root root@ubuntu:~# ls ② Dockerfile root@ubuntu:~# 阅读全文
posted @ 2018-12-20 10:49 bwzbk 阅读(238) 评论(0) 推荐(0) 编辑