.build-deps下面的命令是什么?我在 Alpine 文档中找不到解释。这是预定义的文件吗?在许多 Dockerfile 中都引用了这个。
.build-deps
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命令执行(如上所示),否则不会减小图像大小。
RUN