基础镜像,当前的新镜像是基于哪个镜像的
镜像维护者的姓名和邮箱地址
容器构建时需要运行的额外的命令
当前容器对我暴露出的端口
指定在创建容器后,终端默认登录的进来的工作目录,一个落脚点,如果不配置默认为根目录 进入之后目录为/
用来在构建镜像过程中设置环境变量 ENV MY_PATH /usr/mytest 这个环境变量可以在后续的RUN指令中使用,这就如同在命令前面指定了环境变量前缀一样;也可以在其它指令中直接使用这些环境变量,
比如: WORKDIR $MY_PATH
将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
类似ADD,拷贝文件和目录到镜像中。 将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置
COPY src destCOPY [“src”, “dest”]容器数据卷,用于数据保存和持久化工作
指定一个容器启动时要运行的命令
CMD 容器启动命令 CMD指令的格式和RUN相似,也是两种格式
shell 格式: CMD<命令>exec 格式: CMD[“可执行文件”, “参数1”, “参数2”…]参数列表格式: CMD[ “参数1”, “参数2”…], 在指定了ENTRYPOINT指令后,用CMD指定具体的参数Dockefile中够可以有多个CMD指令,但只有最后一个生效,CMD会被 run之后的参数替换
指定一个容器启动时要运行的命令 ENTRYPOINT的目的和CMD一样,都是在指定容器启动程序及参数
CMD和ENTRYPOINT区别在于:
docker run之后的参数会替换CMD指令,但是不会替换ENTRYPOINT指令有多个CMD指令时,只有最后一个CMD指令生效,而ENTRYPOINT有多个指令时,相当于ENTRYPOINT指令追加,多个ENTRYPOINT指令都会生效当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发
保留字指令说明FROM基础镜像,当前的新镜像是基于哪个镜像的MAINTAINER镜像维护者的姓名和邮箱地址RUN容器构建时需要运行的额外的命令EXPOSE当前容器对我暴露出的端口WORKDIR指定在创建容器后,终端默认登录的进来的工作目录,一个落脚点,如果不配置默认为根目录 进入之后目录为/ENV用来在构建镜像过程中设置环境变量ADD将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包COPY类似ADD,拷贝文件和目录到镜像中VOLUME容器数据卷,用于数据保存和持久化工作CMD指定一个容器启动时要运行的命令ENTRYPOINT指定一个容器启动时要运行的命令ONBUILD当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发 BUILDBothRUNFROMWORKDIRCMDMAINTAINERENVCOPYEXPOSEADDVOLUMERUNENTRYPOINTONBUILD