apk add-virtual命令的build-deps是什么



以下命令中的 .build-deps是什么?我找不到高山文档中的解释。这是一个预定义的文件吗?在许多Dockerfiles中看到此引用。

RUN apk add --no-cache --virtual .build-deps 
gcc 
freetype-dev 
musl-dev
RUN pip install --no-cache-dir <packages_that_require_gcc...> 
RUN apk del .build-deps

如果您看到文档

-t, --virtual NAME    Instead of adding all the packages to 'world', create a new 
                      virtual package with the listed dependencies and add that 
                      to 'world'; the actions of the command are easily reverted 
                      by deleting the virtual package

这意味着您安装软件包时,这些软件包不会添加到全局软件包中。而且这种变化很容易恢复。因此,如果我需要GCC来编译程序,但是一旦编译了程序,我就不再需要GCC。

我可以在虚拟软件包及其所有依赖项中安装GCC以及其他必需的软件包,并且所有内容都可以删除此虚拟软件包名称。以下是示例用法

RUN apk add --virtual mypacks gcc vim 
 && apk del mypacks

下一个命令将删除使用第一个命令安装的所有18个软件包。

在Docker中,必须将其作为单个RUN命令执行(如上所述),否则将不会减小图像大小。

.build-deps是一个任意名称 调用a&quot'虚拟软件包。在Alpine,您将在其中添加软件包。

它创建了一个额外的"世界"包装,您需要在有限的时间内(例如,用于构建其他内容的编译器)。

它的主要目的是保持图像尽可能瘦和轻便,因为一旦使用这些包装,您就可以轻松地摆脱它。

请记住,如果您想实现轻量级的主要目的,则应将其包含在同一RUN中。

相关内容

  • 没有找到相关文章

最新更新