如何使用多个 Docker 构建上下文来简化镜像组装

x33g5p2x  于2022-08-17 转载在 Docker  
字(0.6k)|赞(0)|评价(0)|浏览(565)

Docker 的“构建上下文”概念是其最具限制性和最容易被误解的特征之一。构建上下文定义了您可以在 Dockerfile 中引用的本地文件和文件夹。无法使用它之外的内容,这通常会阻碍复杂的构建过程。

BuildKit v0.8通过让您在每次构建时使用多个上下文来改善这种情况。这使得引用可能位于完全不同位置的文件变得更加容易,例如工作目录中的文件和远程 URL 上的依赖项。

在本文中,我们将解释为什么多个构建上下文很有用,以及如何在最新的 Docker CLI 版本中使用它们。首先让我们回顾一下构建上下文是什么以及为什么这么多人在过去遇到问题。

构建上下文的目的

Docker 是基于守护进程的。运行映像构建的进程独立于发出命令的 CLI 进程。守护进程可能位于无法直接访问您机器的文件系统的远程主机上。
构建上下文是指在构建发生时传输到 Docker 守护程序的文件。这就是为什么 Dockerfile 只能引用上下文中的内容。

docker build作为参数运行是很常见的.,这使您的工作目录成为构建上下文:

docker build -t my-website:latest 。

这允许引用工作目录中的任何路径:

FROM httpd:latest
COPY index.html /var/www/html/index.html

您无法在文件系统中的工作目录上方复制任何内容:

相关文章

最新文章

更多