Dockerfile指令

1、FROM  如果在同一Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)

1
2
3
FROM <image>
或 
FROM <image>:<tag>

2、MAINTAINER  维护者信息

1
MAINTAINER <name>

3、RUN  执行指定命令

1
2
3
RUN < command > (the  command  is run  in  a shell - ` /bin/sh  -c`)  
RUN [ "executable" "param1" "param2"  ... ]  ( exec  form)

4、CMD:用于指定一个容器启动时要运行的命令,如果指定了多条命令,最有最后一条会被执行

1
2
CMD [ "executable" , "param1" , "param2" ] (like an  exec , this is the preferred form)  
CMD  command  param1 param2 (as a shell)

5、EXPOSE  暴露docker容器的端口

1
EXPOSE <port> [<port>...]
1
<br data-filtered= "filtered" >

6、ENV  指定一个环境变量,会被后续RUN指令使用,并在容器运行时保持

1
ENV <key> <value>

7、ADD  复制本地主机的内容到容器目标容器的目录,如果源文件是gzip/bzip2/xz等归档文件,会自动解开并添加到目的地

8、COPY  复制本地主机的内容到容器目标容器的目录

1
ADD <src> <dest>

9、ENTRYPOINT  每个Dockerfile中只能有一个ENTRYPOINT,当指定多个ENTRYPOINT时,只有最后一个生效

1
2
ENTRYPOINT [ "executable" "param1" "param2" ] (like an  exec , the preferred form)  
ENTRYPOINT  command  param1 param2 (as a shell)

10、VOLUME  创建一个可以从本地或其他容器挂载的挂载点

1
VOLUME [ "<mountpoint>" ]

11、USER   使用指定用户运行命令

1
2
3
4
5
# 指定memcached的运行用户  
ENTRYPOINT [ "memcached" ]  
USER daemon  
或  
ENTRYPOINT [ "memcached" "-u" "daemon" ]

12、WORKDIR  切换工作目录

1
WORKDIR  /path/to/workdir

13、ONBUILD

1
2
ONBUILD <Dockerfile关键字>  
ONBUILD 指定的命令在构建镜像时并不执行,而是在它的子镜像中执行。

创建镜像:

docker build [ 选项 ] dockerfile路径

sudo docker build -t centos6-ssh .


笼统的收集了Dockerfile的指令