DockerFile定义:
DockerFile是用来构建Docker镜像的构建文件,是有一系列命令和参数构成的脚本
DockerFile基础:
- 每条保留指令都必须为大写,且后面至少跟随一个参数
- 指令按照从上往下,按顺序执行
- 符号#表示注释
- 每条指令都会创建新的镜像层,并对镜像进行提交
DockerFile关键字:
- FROM 基础镜像,当前新镜像是基于哪个镜像来创建的
- MAINTAINER 镜像维护者的姓名和邮箱地址
- RUN 容器构建时需要运行的命令
- EXPOSE 当前容器对外暴露的端口号
- WORKDIR 指定在创建容器后,终端默认登录进来的工作目录,一个落脚点
- ENV 用来在构建镜像过程中设置环境变量
- ADD 将宿主机所在目录下的文件拷贝进镜像,且ADD命令会自动处理URL和解压文件包
- COPY 类似ADD命令,拷贝文件和目录到镜像。将从构建上下文目录中<源路径>的文件/目录复制到新的镜像内的<目标路径>位置
- VOLUME 容器数据卷,用于数据保存/数据持久化工作
- CMD 指定容器启动时要运行的命令,可以有多个CMD命令,但只有最后一个有效,cmd命令会被docker run 之后的参数命令替换
- ENTRYPOINT 指定容器启动时要运行的命令,ENTRYPOINT的目的和CMD一样,都是在指定容器启动程序及参数,但是可追加命令
- ONBUILD 当构建一个被继承dockerfile是运行命令,父镜像在被子镜像继承后,父镜像ONBUILD被执行