dockerfile 基本语法

FROM baseImage

使用那个基础镜像

MAINTAINER name

作者信息,谁写的

RUN command

构建的时候运行的命令 例如: RUN yum install nginx -y

ADD source dest

1. 拷贝本地的文件到镜像中,"本地"是指上下文,docker会画地为牢,在build的时候,指定那个目录为上下文,就会打包此目录下的所有发给docker daemon,
例如: docker build -t nginx:v3 .  当前目录就是上下文环境  
2. 如果source 是目录就会拷贝该目录下的所有到镜像的dest目录里
3. 如果是tar包,会自动解压

COPY source dest

跟ADD 相似  但是不会做解压tar的操作

CMD [ "executable" ]

这个也是执行命令 但是是在启动docker的时候执行的

ENTRYPOINT [ "executable" ]

跟CMD类似,但是 不会被命令行的参数覆盖,而且如果同时出现它和CMD,那么CMD的内容将作为参数传给它

LABEL key="value"

添加元数据 version=1 time=2020

EXPOSE port

暴露某个端口

ENV key=value

配置环境变量

VOLUME [ "/data" ]

用于持久化数据的目录

WORKDIR /the/workdir/path

类似与cd  切到容器某个目录

USER daemon

指定容器运行时的用户名

ARG name=defaultValue

build过程中的参数

ONBUILD INSTRUCTION

当所构建的镜像被用做其它镜像的基础镜像,该镜像中的触发器将会被触发