为什么要从其存储库安装 Docker,而不是从默认存储库安装?

Yoa*_*ein 7 dpkg apt docker

在在 Ubuntu 上安装 Docker 引擎的Docker 文档中,有一个从存储库安装的选项(以及下载 deb 文件并安装它的选项,以及使用也使用存储库的便捷脚本)。但我发现如果我只是跑

sudo apt-get install docker.io
Run Code Online (Sandbox Code Playgroud)

在我的机器上,它将完美下载并运行 Docker。

我的问题是:从自己的存储库安装 docker 或从已配置的默认存储库安装 docker 有区别吗?

另外,在查看文档时,您应该安装 3 个软件包docker-ce docker-ce-cli,而containerd.io从默认存储库安装时,您只需安装docker.io.

这些不同的软件包是什么以及它们包含什么?

BMi*_*tch 5

docker.io检查您已安装的版本。在最后一次检查中,Ubuntu 发布了 18.04,很可能进行了自定义修改。它们可能包含对其他组件的依赖关系,但像 CLI 这样的组件最近才从安装的其余部分中分离出来。

通过直接从 Docker 的存储库中提取,您将收到更新的版本,包括安全修复程序,比 Ubuntu 将它们移植到自己的存储库中的速度更快。目前版本是 20.10.8。

通过拆分containerd.io安装,他们可以独立于 docker 引擎更新此组件(这是一个独立的项目,是自己构建的)。通过拆分 CLI,仅需要 CLI 访问远程 Docker 主机的用例不需要在本地安装完整的引擎。docker 引擎本身是一个docker-ce安装程序,它接收来自 CLI 的请求,管理网络和卷,并将运行容器的请求发送到containerd.


har*_*ymc 2

Docker-cedocker-ce-clicontainerd.io可能分别是运行时、cli 工具和守护进程。

一个包很可能有另一个包作为依赖项,因此它也将被安装。肯定需要安装Docker.io引擎 docker-ce

最后,从 Docker 网站安装将为您提供最新版本,该版本可能比存储库中的版本更高级(并且经过调试)。