文章目录
dockerfile指令
指令的一般格式为INSTRUCTION arguments,指令包括
- FROM
- LABEL MAINTAINER
- RUN
- CMD
- EXPOSE
- ENV
- ADD
- COPY
- ENTRYPOINT
- VOLUME
- USER
- WORKDIR
- ONBUILD
FROM
格式为FROM <image>或FROM <image>:<tag>
第一条指令必须为FROM指令。并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)。
LABEL MAINTAINER
格式为LABEL MAINTAINER <name email_address>,指定维护者信息
# 维护者信息
LABEL MAINTAINER='soumnswa 1@2.com'
RUN
格式:
- RUN <command>
- RUN [“executable”,“param1”,“param2”]
前者将在shell终端中运行命令,即/bin/sh -c;后者则使用exec执行。指定使用其他终端可以通过第二种方式实现
//RUN <command>
RUN echo "hello docker" > test
//RUN ["executable","param1","param2"]
RUN ["echo","hello docker",">","test"]
每条RUN指令将在当前镜像基础上执行指定命令,并提交为新的镜像。当命令较长时可以使用 \ 来换行,例如:
RUN echo "hello docker" > /tmp/abc && \
cat /tmp/abc
CMD
CMD支持三种格式:
- CMD [“executable”,“param1”,“param2”]使用exec执行,推荐方式
- CMD command param1 param2在/bin/sh中执行,提供给需要交互的应用
- CMD [“param1”,“param2”]提供给ENTRYPOINT的默认参数