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的指令
本文转自 yanconggod 51CTO博客,原文链接:http://blog.51cto.com/yanconggod/1883346