alpine `apk` 是否有一个 ubuntu `apt` `--no-install-recommends` 等价物
Does alpine `apk` have an ubuntu `apt` `--no-install-recommends` equivalent
我正在尝试制作绝对最小的 Docker 图像,所以我已经从 ubuntu 作为我的基础切换到高山。
对于 apt
,我曾经使用 --no-install-recommends
来最小化 "dependencies" 与我想要的软件包一起安装。是否有一个等效的标志我需要与 apk
一起传递,或者这是这个精简后的默认行为 OS?
不,它没有我认为的相同标志,因为它甚至不执行下载推荐包的相同行为。
然而,还有另一个标记 --virtual
可以帮助您缩小图像:
apk add --virtual somename package1 package2
然后
apk del somename
这对于只需要构建而不是稍后执行的东西很有用。
请注意,您必须在一个 运行 命令中执行它,否则它无法从之前的 Docker 图像层中删除。
例如如果 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" 包中,但在写入层之前被删除。
这个问题反过来问问题:
我正在尝试制作绝对最小的 Docker 图像,所以我已经从 ubuntu 作为我的基础切换到高山。
对于 apt
,我曾经使用 --no-install-recommends
来最小化 "dependencies" 与我想要的软件包一起安装。是否有一个等效的标志我需要与 apk
一起传递,或者这是这个精简后的默认行为 OS?
不,它没有我认为的相同标志,因为它甚至不执行下载推荐包的相同行为。
然而,还有另一个标记 --virtual
可以帮助您缩小图像:
apk add --virtual somename package1 package2
然后
apk del somename
这对于只需要构建而不是稍后执行的东西很有用。
请注意,您必须在一个 运行 命令中执行它,否则它无法从之前的 Docker 图像层中删除。
例如如果 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" 包中,但在写入层之前被删除。
这个问题反过来问问题: