2018-10-26 Dockerfile指令

CMD

指定容器启动时要运行的命令。使用数组结构去声明。不然docker会在命令前加上 /bin/sh -c。 docker run命令可以覆盖CMD指令。

ENTERPOINT

docker run命令中指定的任何参数都会被当作参数再次传递给ENTERPOINT指令中指定的命令。也是数组结构声明。

WORKDIR

创建一个新容器时,在容器内部设置一个工作目录, ENTERPOINT 和 / 或 CMD 指定的程序会在这个目录下执行。

ENV

用来在镜像构建过程中设置环境变量。这个新环境变量可以在后续的任何RUN指令中使用。

docker run 命令的-e标志来传递环境变量。这些变量只会在运行时有效。

USER

指定该镜像以什么样的用户去执行。

VOLUME

向基于镜像创建的容器添加卷。卷时存在于一个或者多个容器内的特定的目录,这个目录可以绕过联合文件系统,提供共享数据或者对数据进行持久化。

  • 卷可以在容器间共享和重用
  • 一个容器可以不是必须和其他容器共享卷
  • 对卷的修改是立马生效的
  • 对卷的修改不会对更新镜像产生影响
  • 卷会一直存在,直到没有任何容器再使用它

ADD

用来将构建环境下的文件和目录复制到镜像中。源文件为构建目录下的或者URL,不能对构建目录或者上下文之外的文件进行ADD操作。本地压缩文件,会自动解压。

COPY

COPY很像ADD,但是不会去做文件提取和解压工作。如果目的位置不存在,Docker会自动创建所需要的目录结构

ONBUILD

镜像触发器。当一个镜像被用作其他镜像的基础镜像的时候,触发器会被执行。按照指定的顺序执行。只能被子镜像执行一次。

你可能感兴趣的:(2018-10-26 Dockerfile指令)