在 Ubuntu 上安装 docker 时,为什么不像 apt-get install docker 那么简单?

在 Ubuntu 上安装 docker 时,为什么不像 apt-get install docker 那么简单?

我按照 docker 网站上的说明在 Ubuntu 上安装了十几次 docker(7 条命令,包括删除旧版本、添加 gpg 钥匙串等)。我总是能顺利完成,但今天我停下来想为什么它不只是一个命令。apt 肯定足够智能,可以完成所有这些。我凭肌肉记忆安装的数百个其他软件包肯定不会更难管理。

这是一个关于官方 apt repo 注册如何工作、docker 有何不同以及哪些历史或商业决策导致 docker install 变成十几个步骤而不是一个步骤的问题。

答案1

自从我写这篇文章以来,至少有两个新版本:Snap 版本(sudo snap install docker),它运行良好,但不是最新版本,也不支持Docker 桌面支持。


根据您的需要,您可以使用默认的 Ubuntu 版本:

apt-get install docker.io

可用软件包的列表如下:

$ apt-cache search docker
[...snip...]
docker - transitional package
docker-clean - simple Shell script to clean up the Docker Daemon
docker-compose - define and run multi-container Docker applications with YAML
docker-doc - Linux container runtime -- documentation
docker-registry - Docker toolset to pack, ship, store, and deliver content
docker.io - Linux container runtime
[...snip...]

该方法的主要问题是,您可能会得到一个稍旧的版本。一旦 Ubuntu 操作系统发布,大多数软件包的版本都不会改变。您只会得到重要的 CVE 和其他安全修复。这是因为升级到较新的版本非常复杂,而且可能破坏系统的许多其他部分(即不兼容的库、代码可能 SEGV 等)。为了避免这个问题,Gentoo 的做法是重新编译所有内容(所有依赖项)。

因此,Docker 提供了一种安装最新版本的方法。这意味着您可以访问他们自己的软件包存储库,为此,您需要在您的机器上执行几个步骤来设置它。这包括将存储库信息添加到您的系统。apt-get它自己无法找到所有数据。

因此,如果您需要最新版本的 Docker 及其所有附加功能,您需要遵循这 7 个步骤(如上所述,您可以编写脚本,或者更好的是,从 Docker 网站下载脚本)。否则,您可以直接安装 Ubuntu 操作系统附带的版本。


顺便提一下,对于 Java,Oracle 采用了不同的方法,即使用一个小包来下载最新版本。这对他们来说是一种相当复杂的方法,因为在他们的情况下,他们几乎替换了dpkg(因此apt-get)提供的所有逻辑。

相关内容