alpine`apk`是否有ubuntu`apt``-- no-install-recommended`等价物

时间:2017-05-08 05:29:29

标签: docker apk packages alpine

我试图制作可以逃脱的绝对最小的Docker图像,所以我已经从ubuntu作为我的基地切换到高山。

对于apt,我曾经使用--no-install-recommends来最小化"依赖关系"安装我想要的包。是否有一个等同的标志我需要与apk一起传递,或者这是这个瘦身操作系统的默认行为?

1 个答案:

答案 0 :(得分:5)

不,它没有我认为的相同标志,因为它甚至没有下载推荐包的相同行为。

然而,还有另一个标志--virtual可帮助您保持较小的图像:

apk add --virtual somename package1 package2

然后

apk del somename 

这对于仅用于构建而不是稍后执行所需的内容非常有用。

请注意,您必须在一个RUN命令中执行它,否则无法从以前的Docker图像层中删除它。

e.g。如果pything1需要运行package1package2,但在安装版本中只需要package3package4,那么这将是最佳选择:

RUN apk add --no-cache package1 package2
RUN apk add --no-cache --virtual builddeps package3 package4 && \
    pip install pything1 && \
    apk del builddeps 

包3和4未添加“world”包,但在写入图层之前将被删除。

这个问题以另一种方式提出问题:What is .build-deps for apk add --virtual command?