FROM # 基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER # 镜像维护者的姓名混合邮箱地址
RUN # 容器构建时需要运行的命令
EXPOSE # 当前容器对外保留出的端口
WORKDIR # 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点
ENV # 用来在构建镜像过程中设置环境变量
ADD # 将宿主机目录下的文件拷贝进镜像且 AD D命令会自动处理 URL 和解压 tar 压缩包
COPY # 类似 ADD,拷贝文件和目录到镜像中!
VOLUME # 容器数据卷,用于数据保存和持久化工作
CMD # 指定一个容器启动时要运行的命令,dockerFile 中可以有多个 CMD 指令,但只有最 后一个生效!
ENTRYPOINT # 指定一个容器启动时要运行的命令!和 CMD 一样
ONBUILD # 当构建一个被继承的 DockerFile 时运行命令,父镜像在被子镜像继承后,父镜像的 ONBUILD 被触发
USER 指定当前用户
举个例子:创建一个java镜像
from centos # 依赖的基础镜像
WORKDIR /java # 设置工作目录,不存在则创建
COPY ./jdk/* ./ # 复制jdk到当前目录
ENV JAVA_HOME /java 设置环境变量
ENV PATH $JAVA_HOME/bin:$PATH
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 设置时间