Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 来快速创建自定义的镜像。
基本结构
Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。
一般而言,Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。
下面是一个 Dockerfile 文件的基本结构:
# 基础镜像信息
FROM ubuntu:14.04
# 维护者信息
MAINTAINER WangYong wangyong1@yidian-inc.com
# 镜像操作指令
ENV JAVA_HOME /usr/local/java
RUN echo "Hello World"
# 容器启动时执行指令
CMD /user/sbin/nginx
指令说明
指令 说明
FROM | 指定所创建镜像的基础镜像 |
---|---|
MAINTAINER | 指定维护者信息 |
RUN | 运行命令 |
CMD | 指定启动容器时默认执行的命令 |
LABEL | 指定生成镜像的元数据标签信息 |
EXPOSE | 声明镜像内服务所监听的端口 |
ENV | 指定环境变量 |
ADD | 赋值指定的< src > 路径下的内容到容器中的<dest>路径下,<src>可以为URL;如果为tar文件,会自动解压到<dest>路径下 |
COPY | 复制本地主机的<src>路径下的内容到镜像中的<dest>路径下;一般情况下推荐使用COPY,而不是ADD |
ENTRYPOINT | 指定镜像的默认入口 |
VOLUME | 创建数据卷挂在点 |
USER | 指定运行容器时的用户名或UID |
WORKDIR | 配置工作目录 |
ARG | 指定镜像内使用的参数(例如版本号信息等) |
ONBUILD | 配置当前所创建的镜像作为其他镜像的基础镜像时,所执行的创建操作指令 |
STOPSIGNAL | 容器退出的信号值 |
HEALTHCHECK | 如何进行健康检查 |
SHELL | 指定使用shell时默认shell类型 |
网友评论