如何从 Docker Image 卸载 APK 和 PIP?

G. *_*all 9 pip docker dockerfile alpine-linux

我正在对我的一个 docker 容器进行一些“常识”强化,我的想法表明我可以在安装完所有依赖项后尝试从 Alpine linux 映像中卸载 APK 和 PIP。

我很难找到有关这样做的任何信息。我的想法是容器是短暂的,所以永远不需要在运行的容器中安装任何东西。

有人做过吗?谢谢!

val*_*ano 9

您应该能够pip通过卸载py-pip软件包来删除:

apk del py-pip

其次是删除pip的缓存:

# rm -rf /<HOME_DIR>/.cache/pip

然后,为了删除apk,删除apk二进制文件和文件夹:

# rm -f /sbin/apk
# rm -rf /etc/apk
# rm -rf /lib/apk
# rm -rf /usr/share/apk
# rm -rf /var/lib/apk
Run Code Online (Sandbox Code Playgroud)

我自己没有做过 Docker 强化/监禁,但删除包管理器似乎是减少可能的攻击面的常见做法。这是一篇采用类似方法的有趣帖子:


小智 8

对于删除apk,这也将起作用并确保正确删除:apk --purge del apk-tools