小编典典

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

all

.build-deps下面的命令是什么?我在 Alpine 文档中找不到解释。这是预定义的文件吗?在许多 Dockerfile 中都引用了这个。

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

阅读 120

收藏
2022-07-18

共1个答案

小编典典

如果你看到文档

-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命令执行(如上所示),否则不会减小图像大小。

2022-07-18