Dockerfile配置文件说明文档详解

使用自定义文件配置生成可定制化的Docker image镜像

Dockerfile 简介

Docker可以使用Dockerfile文件来建立一个image镜像。  Dockerfile 中包含有建立image镜像的所有配置信息和可执行命令。 使用 docker build 命令就可以根据你指定的Dockerfile文件建立一个image镜像,Dockerfile配置决定了docker容器的运行状态和结构。使用Docker配置文件说明文档详解,详细的说明怎么样编写Dockerfile,怎么样能够合理的使用一份Dockerfile文档来构建docker容器。

作用

 docker build 在指定路径下执行下面的命令,一般都是当前目录,使用 . 做指示:

$ sudo docker build .

路径中一般包含要打包到image镜像中的资源文件。建立过程不是由terminal进行操作的,而是用docker的daemon进行的,所有的资源都要发送给daemon. 发送过程中会打印信息"Sending build context to Docker daemon"

$ sudo docker build -t shykes/myapp .

Docker daemon 会一步一步的执行image建立操作,最后输出新建立的image id. 然后docker daemon会自动清理发送过的资源文件。

注意 每一步操作都是相对独立的 - 所以加入执行了 RUN cd /tmp不会影响下一步操作

默认情况下,docker 还会使用已有的预编译image镜像和缓存来协助建立新的image。 docker build significantly (indicated by Using cache):

$ docker build -t SvenDowideit/ambassador .

Uploading context 10.24 kB
Uploading context
Step 1 : FROM docker-ut
---> cbba202fe96b
Step 2 : MAINTAINER SvenDowideit@home.org.au
---> Using cache
---> 51182097be13
Step 3 : CMD env | grep _TCP= | sed 's/.*_PORT_\([0-9]*\)_TCP=tcp:\/\/\(.*\):\(.*\)/socat TCP4-LISTEN:\1,fork,reuseaddr TCP4:\2:\3 \&/' | sh && top
---> Using cache
---> 1a5ffc17324d
Successfully built 1a5ffc17324d