dockerfile 的语法

  • ADD

从上下文或远程地址复制文件,有自动解压的能力,建议使用copy复制构建上下文环境的文件目录,远程文件使用RUN +CURL/wget下载 。

  • CMD 容器启动的时候指定的指令,如果自定义了ENTRYPOINT ,那么CMD被解释为其参数(指令格式使用exec),CMD 会被docker run 命令后的参数可以看做一个CMD命令,且拥有在最高优先级,而在dockerfile中,多个CMD指令最后一个生效。
  • COPY 从构建上下文复制文件到镜像中 ,指定的文件一定是上下文中的。
  • ENTRYPOINT 设置容器启动的时候可执行文件。CMD 指令和docker run 的参数都将成为他的参数,其通常用于提供启动脚本,目的是解析参数之前,对变量和服务初始化
  • ENV 设置镜像里面的环境变量可以认为就是申明变量。
  • EXPOSE 指定容器对外的端口,也可以在docker run -p 【port】设置
  • FROM 设置dockerFile使用的基础镜像,其被置于第一条命令。
  • MAINTAINER 元数据,一般设置镜像维护者的姓名以及联系方式
  • ONBUILD 当镜像被用作充当基础镜像的时候执行的指令(很有用)
  • RUN 在容器内执行的指令,并把结果保存下来(类似你在虚拟机中执行的比如yum等)
  • USER 设置后续的RUN,CMD或者ENTRYPOINT指令时用的用户
  • VOLUME 指定数据卷的目录
  • WORKDIR 对任何后续的RUN CMD ENTRYPOINT ADD COPY 指令设置工作目录