Docker Python图像中apt-autoremove的等价性

Docker Python图像中apt-autoremove的等价性,docker,package-managers,alpine,Docker,Package Managers,Alpine,我正在尝试清除未使用的依赖项以减小图像大小 这在Ubuntu图片中由 sudo-apt autoremove 请帮助我使用在Alpine中使用的命令。对于Alpine:apk del package name,apk是alipine的包管理实用程序。有关详细信息,请参见: 另外,我建议在创建图像时,假设您从alpine开始,使用RUN apk add-no cache,这样您就不会在本地缓存索引 您可以在此处搜索适用于alpine的软件包:否,在apk中没有适用于alpine的等效软件包 但是

我正在尝试清除未使用的依赖项以减小图像大小

这在Ubuntu图片中由

sudo-apt autoremove
请帮助我使用在Alpine中使用的命令。

对于Alpine:apk del package name,apk是alipine的包管理实用程序。有关详细信息,请参见:

另外,我建议在创建图像时,假设您从alpine开始,使用RUN apk add-no cache,这样您就不会在本地缓存索引


您可以在此处搜索适用于alpine的软件包:

否,在apk中没有适用于alpine的等效软件包

但是,您确实不需要它,因为当您删除包时,apk del将为您删除未使用的依赖项,这与apt完全不同。请参阅:

卸下包裹 使用del删除不再需要的包和依赖项

此外,您还可以尝试使用vim,例如:

/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
v3.10.1-40-g92381611d0 [http://dl-cdn.alpinelinux.org/alpine/v3.10/main]
v3.10.1-37-g530a544685 [http://dl-cdn.alpinelinux.org/alpine/v3.10/community]
OK: 10335 distinct packages available

/ # apk add vim
(1/5) Installing lua5.3-libs (5.3.5-r2)
(2/5) Installing ncurses-terminfo-base (6.1_p20190518-r0)
(3/5) Installing ncurses-terminfo (6.1_p20190518-r0)
(4/5) Installing ncurses-libs (6.1_p20190518-r0)
(5/5) Installing vim (8.1.1365-r0)

/ # apk del vim
(1/5) Purging vim (8.1.1365-r0)
(2/5) Purging lua5.3-libs (5.3.5-r2)
(3/5) Purging ncurses-libs (6.1_p20190518-r0)
(4/5) Purging ncurses-terminfo (6.1_p20190518-r0)
(5/5) Purging ncurses-terminfo-base (6.1_p20190518-r0)
Executing busybox-1.30.1-r2.trigger
OK: 6 MiB in 14 packages

您可以在上面看到,当删除包时,安装vim时的所有包依赖关系都将被清除。

如果这是Docker,删除未使用的内容不一定会释放存储空间。这是因为每一层都是在前一层之上构建的一组增量,所以前一层中的内容仍然存储为该层持久性的一部分。谢谢,尽管我已经意识到了这一点。我正在寻找一种方法来删除可能随软件包一起安装的依赖项。例如:安装restructuredtext_lint将安装docutils包。现在我没有办法删除它,这在ubuntu中是可能的。如果我错了,请告诉我,还有另一种方法可以处理。谢谢,尽管我一直在寻找可以删除某些软件包中安装的依赖项的东西。与安装x软件包一样,自动安装y。那我就没办法去掉y。或者这在阿尔卑斯山是自动处理的?是的,它们在阿尔卑斯山是自动处理的。