Docker Dockerfile解释和使用

Dockerfile是一个文本文档, 其中包含用于组装映像的命令。我们可以使用在命令行上调用的任何命令。 Docker通过阅读Dockerfile中的指令自动构建映像。
docker build命令用于从Dockerfile构建映像。你可以将-f标志与docker build一起使用, 以指向文件系统中任何位置的Dockerfile。

$ docker build -f /path/to/a/Dockerfile .

Dockerfile说明这些说明不区分大小写, 但是你必须遵循建议使用大写字母的约定。
Docker以自上而下的顺序运行Dockerfile的指令。第一条指令必须是FROM, 以便指定基本映像。
【Docker Dockerfile解释和使用】以#开头的语句被视为注释。你可以在Dockerfile中使用RUN, CMD, FROM, EXPOSE, ENV等指令。
在这里, 我们列出了一些常用的说明。

该指令用于为后续指令设置基本映像。有效的Dockerfile必须以FROM为第一指令。
例如
FROM ubuntu

标签
我们可以在图像上添加标签以组织项目的图像。我们需要使用LABEL指令为图像设置标签。
例如
LABEL vendorl = "srcmini"


该指令用于执行当前图像的任何命令。
例如
RUN /bin/bash -c 'source $HOME/.bashrc; echo $HOME'

CMD
这用于通过映像执行应用程序。我们应该始终以以下形式使用CMD
CMD ["executable", "param1", "param2"?]

这是使用CMD的首选方法。 Dockerfile中只能有一个CMD。如果我们使用多个CMD, 则仅执行最后一个。
复制
该指令用于将新文件或目录从源复制到目标位置的容器的文件系统。
例如
COPY abc/ /xyz

规则
  • 源路径必须在构建上下文内。我们无法复制../something / something, 因为Docker构建的第一步是将上下文目录(和子目录)发送到docker守护程序。
  • 如果source是目录, 则将复制目录的整个内容, 包括文件系统元数据。
工作目录
WORKDIR用于为Dockerfile中跟随它的所有RUN, CMD和COPY指令设置工作目录。如果工作目录不存在, 则默认情况下将创建它。
我们可以在Dockerfile中多次使用WORKDIR。
例如
WORKDIR /var/www/html

    推荐阅读