Dockerfile指令--极客学院入门教程 (http://www.jikexueyuan.com/course/876.html)

dockerfile指令:

1、注释: #开头

2、指令:大写指令 + 参数

Dockerfile指令--极客学院入门教程 (http://www.jikexueyuan.com/course/876.html)

 

Dockerfile指令--极客学院入门教程 (http://www.jikexueyuan.com/course/876.html)

 FROM指令:指定基础镜像。必须是Dockerfile中第一条非注释指令。

基础镜像必须是已经存在的镜像。后面的指令都会基于这个镜像来执行。

Dockerfile指令--极客学院入门教程 (http://www.jikexueyuan.com/course/876.html)

 Dockerfile指令--极客学院入门教程 (http://www.jikexueyuan.com/course/876.html)

MAINTAINER指令:相当于commit指令的-a属性。

 Dockerfile指令--极客学院入门教程 (http://www.jikexueyuan.com/course/876.html)

 

RUN指令:指定当前镜像中运行的命令。包含两种模式:shell模式和exec模式。

shell模式:RUN <command>, RUN /bin/sh -c形式。如 RUN echo hello。

exec模式:RUN ["/bin/bash", "-c", "echo hello"]

镜像分层概念:每一条RUN指令都会在当前镜像的上层创建一个新的镜像来运行指定的命令。

Dockerfile指令--极客学院入门教程 (http://www.jikexueyuan.com/course/876.html)

EXPOSE指令:指定运行该镜像容器(一个容器一个进程?)使用的端口,可指定一个或多个端口,也可以在一个Dockerfile中使用多个EXPOSE命令。

虽然Dockerfile中指定了容器的端口,但在容器运行时,我们仍需要手动指定容器的端口映射。

因为Dockerfile中使用EXPOSE指令指定的端口只是告诉docker,该容器内的应用程序会使用特定的端口。

但是出于安全的考虑,docker并不会自动的打开端口,而是需要在使用时,在docker run命令中添加对端口的映射指令。

Dockerfile指令--极客学院入门教程 (http://www.jikexueyuan.com/course/876.html)

 

(参考:http://www.jikexueyuan.com/course/876_1.html?ss=1