我需要在我的docker容器上安装一些依赖项,我想使用python:3.6-alpine版本以使其尽可能轻巧,但是与alpine一起提供的apk包管理器给我带来了麻烦,因此我想获取apt-get软件包管理器。 我尝试过:
apk add apt-get
它没有起作用。
我怎样才能将它放到容器中?
我需要在我的docker容器上安装一些依赖项,我想使用python:3.6-alpine版本以使其尽可能轻巧,但是与alpine一起提供的apk包管理器给我带来了麻烦,因此我想获取apt-get软件包管理器。 我尝试过:
apk add apt-get
它没有起作用。
我怎样才能将它放到容器中?
使用多个软件包管理系统通常是一个非常糟糕的想法,原因有很多。软件包很可能会相互冲突和破坏,你最终会陷入比开始时更大的混乱中。
详见这个出色的答案:使用多个软件包管理器存在什么陷阱?
一个更可行的方法是解决您使用 apk
遇到的问题。 apk
旨在简单快速,并且应该很容易上手。在我看来,它真的是一个出色的软件包管理器。
对于一个好的教程,我强烈推荐 Alpine Wiki 网站上的 apk
介绍页面:https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
如果你决定不使用 apk
,并且想要尝试使用 apt
作为实验,那么作为第一步,你需要先从源代码构建 apt
: https://github.com/Debian/apt。然后,如果它能产生一个功能性的版本(很可能不兼容 musl libc),你还需要将其连接到一些软件源,但是 Alpine 的软件源只适用于 apk
,而不适用于 apt
。如你所见,这并不现实,并且不是你想要走的路线。
pip
管理,与管理Linux系统二进制文件和程序的apk
和apt
不同。 pip
的影响仅限于Python程序的范围内。可以这样想——如果pip
中发生了问题,可能会导致Python出现问题,但如果apk
或apt
发生故障,整个Linux系统可能会崩溃。 - valianopip
与 apk
/ apt
是正交的 - 它们彼此独立。 - valiano
apk
是阿尔派Linux上的默认软件包管理器。您不需要使用apt
。 - lependuphp-gearman
。 - SP Singh