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 指令设置工作目录