我试图制作可以逃脱的绝对最小的Docker图像,所以我已经从ubuntu作为我的基地切换到高山。
对于apt
,我曾经使用--no-install-recommends
来最小化"依赖关系"安装我想要的包。是否有一个等同的标志我需要与apk
一起传递,或者这是这个瘦身操作系统的默认行为?
答案 0 :(得分:5)
不,它没有我认为的相同标志,因为它甚至没有下载推荐包的相同行为。
然而,还有另一个标志--virtual
可帮助您保持较小的图像:
apk add --virtual somename package1 package2
然后
apk del somename
这对于仅用于构建而不是稍后执行所需的内容非常有用。
请注意,您必须在一个RUN命令中执行它,否则无法从以前的Docker图像层中删除它。
e.g。如果pything1
需要运行package1
和package2
,但在安装版本中只需要package3
和package4
,那么这将是最佳选择:
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?