关键字 | 作用 | 备注 |
FROM | 指定父镜像 | 指定dockerfile 是基于哪个image构建 |
MAINTAINER | 作者信息 | 用来表示此容器作者是谁 |
LABEL | 标签 | 记录一些说明性信息。也可以用来记录当前容器的作者。可以在docker image基本信息中可以查看。 |
RUN | 执行命令 | 执行一段命令,默认是/bin/sh 格式 RUN command或者RUN [“command”,"param1","param2"] |
CMD | 容器启动命令 | 提供启动容器时候的默认命令,常和 ENTRYPOINT 配合使用。格式CMD command param1 param2 或者 CMD [“command”,"param1","param2"] |
ENTRYPOINT | 入口 | 常用于制作一些 执行完毕立即关闭的容器中使用 |
COPY | 复制文件 | 在build时,复制文件到image中 |
ADD | 添加文件 | 在build时,添加文件到image中,文件不仅局限于build 的当前路径,还可能来源于远程服务 |
ENV | 环境变量 | 指定build时候的环境变量 |
ARG | 构建参数 | 该参数仅在构建的时候使用。如果dockerfile中同时存在ENV,则ENV同名变量的值会覆盖arg的值 |
VOLUME | 定义外部可以挂载的数据卷 | 指定image 有哪些目录可以在启动的时候挂载到文件系统,启动容器的时候使用-v 绑定。格式 VOLUME ["目录"] |
EXPOSE | 暴露端口 | 定义容器运行的时候监听的端口,启动容器的使用-p 来绑定暴露端口,格式:EXPOSE 8080 或者 EXPOSE 8080/udp |
WORKDIR | 工作目录 | 指定容器内部的工作目录,如果没有创建则自动创建。如果是以 /开头则为绝对地址,如果不是/ 开头则为相对路径 |
USER | 制定执行用户 | 用来指定build或者启动或者执行RUN CMD ENTRYPOINT 等命令时候的用户 |
HEALTHCHECK | 健康检查 | 监测当前容器的健康情况。使用较少。 |
ONBUILD | 触发器 | 该命令的内容会在 执行完FROM 指令后立即执行。较少使用 |
STOPSIGNAL | 发送信号量到宿主机 | 将系统调用信号发送的容器,用来退出当前容器 |
SHELL | 指定执行脚本的shell | 指定执行诸如RUN CMD ENTRYPOINT 等命令时使用的脚本 |