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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容