如何在 Linux 上安装 Docker?



Docker 通过允许程序员将其应用程序及其所有依赖项捆绑到称为容器的小型轻量级单元中,彻底改变了软件开发行业。通过将应用程序与底层操作系统分离,这些容器在各种环境中提供可靠的性能和轻松的部署。

如果您是希望利用容器化的 Linux 用户,那么本章正是您应该阅读的地方。您将能够使用各种方法在您的 Linux 系统上安装 Docker,本详细指南将对此进行解释。无论您是想使用预构建的软件包、下载 DEB 文件还是使用便捷的安装脚本,我们都将根据您的需求提供详细的说明。

我们将详细讨论以下在 Linux 上安装 Docker 的方法:

  • 使用 apt 仓库安装
  • 从软件包安装
  • 使用便捷脚本安装

因此,让我们了解一下在 Ubuntu 上安装 Docker 的这些方法。

在 Linux 上安装 Docker 的先决条件

在开始 Docker 安装过程之前,请确保您的 Linux 系统满足先决条件。这将确保 Docker 安装顺利且最佳地完成。

使用 64 位架构 - Docker 在 64 位环境中运行效果最佳。您可以在终端中使用“uname -m”命令来确认系统的架构。如果您的系统是 32 位,则很难直接安装 Docker。但是,互联网上提供了针对特定用例的替代解决方案。

Docker Installation 1

使用内核版本 3.10 或更高版本 - Docker 需要稳定的 Linux 内核才能按预期和最佳方式工作。您可以验证您正在使用的内核版本是否为 3.10 或更高版本。

您可以在终端中使用“uname -r”命令来做到这一点。这将为您提供内核的版本。如果需要更新,您可以查看发行版的文档以确定最佳的操作步骤。

Docker Installation 2

包管理器 - 安装 Docker 的方法在很大程度上取决于 Linux 发行版的包管理器。APT(Ubuntu/Debian)和 Yum(Red Hat/CentOS)是两个流行的例子。

如果您熟悉这些发行版,最好遵循特定于您的发行版的安装指南。在本章中,我们将讨论 Ubuntu 的方法。其他 Linux 发行版可以使用类似的命令,具体取决于其包管理器。

其他注意事项

虚拟化支持 - 您应该确保您的系统与硬件虚拟化技术(如 KVM)兼容,以获得更好的性能。这在执行特定容器化应用程序时尤其重要。

Sudo 访问权限 - 几乎所有安装方法都需要 sudo 访问权限,因此请确保您已准备好。

满足这些要求后,您就可以在 Linux 机器上以最佳方式安装 Docker 了。在下一节中,我们将探讨不同的安装技术,敬请关注!

使用 APT 仓库安装 Docker

在首次在新主机上安装 Docker Engine 之前,务必设置 Docker 仓库。之后,您可以轻松地从此仓库安装或更新 Docker。要设置 Docker 的 apt 仓库,您可以使用以下命令集。

$ sudo apt-get update
Docker Installation 3
$ sudo apt-get install ca-certificates curl
Docker Installation 4
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
Docker Installation 5

下一步是将仓库添加到 Apt 源。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] 
      https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
Docker Installation 6

注意 - 如果您使用的是 Ubuntu 的其他衍生版本,例如 Linux Mint 或其他版本,则可能需要在上述命令中将 VERSION_CODENAME 替换为 UBUNTU_CODENAME。

下一步是安装 Docker 软件包。要安装最新版本,您可以运行以下命令:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker Installation 7

安装完成后,您可以通过运行 hello-world 镜像来验证安装是否成功。

$ sudo docker run hello-world
Docker Installation 8

上述命令从 Docker 仓库下载 hello-world 镜像,并运行与其关联的容器。它打印一条消息并退出。这验证了 Docker 引擎在您的 Ubuntu 主机上成功安装。

除了安装最新版本之外,您还可以使用以下命令集安装特定版本的 Docker 引擎。第一个命令列出 Ubuntu 可用的 Docker 版本。

# List the available versions:
apt-cache madison docker-ce | awk '{ print $3 }'
Docker Installation 9

然后,您可以将所需的版本设置为变量,并使用以下命令安装它。

$ VERSION_STRING=5:26.1.1-1~ubuntu.22.04~jammy
$ sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING 
   containerd.io docker-buildx-plugin docker-compose-plugin

从软件包安装 Docker

除了从 APT 仓库安装 Docker 之外,您还可以手动下载特定发行版本的 deb 文件并安装它们。但在这种情况下,如果要升级 Docker 引擎版本,则必须手动执行。

  • 访问 https://download.docker.com/linux/ubuntu/dists/
  • 然后,从此列表中选择 Ubuntu 的版本。
  • 然后,转到路径 - pool/stable 并选择 Linux 主机的架构(amd64、armhf、arm64 或 s390x)。
  • 之后,您需要下载以下 deb 文件。
    • containerd.io_<version>_<arch>.deb
    • docker-ce_<version>_<arch>.deb
    • docker-ce-cli_<version>_<arch>.deb
    • docker-buildx-plugin_<version>_<arch>.deb
    • docker-compose-plugin_<version>_<arch>.deb
  • 下载完成后,您可以使用以下命令安装这些软件包。这也会自动启动 Docker 守护进程。
$ sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
   ./docker-ce_<version>_<arch>.deb \
   ./docker-ce-cli_<version>_<arch>.deb \
   ./docker-buildx-plugin_<version>_<arch>.deb \
   ./docker-compose-plugin_<version>_<arch>.deb

$ sudo service docker start

使用便捷脚本安装 Docker

您还可以使用 Docker 在 https://get.docker.com/ 提供的便捷脚本安装 Docker。这对于开发环境很有用,但不建议用于生产环境。但它对于创建针对生产环境定制的配置脚本也很有用。

这些是脚本执行的操作以及其限制

  • 要运行,脚本需要 root 或 sudo 权限。
  • 脚本会尝试识别您的 Linux 版本和发行版,并为您设置包管理器。
  • 您无法使用脚本更改大多数安装参数。
  • 软件会安装建议和先决条件,而无需请求批准。这可能会安装大量软件包,具体取决于您主机当前的配置方式。
  • 脚本默认安装最新稳定版本的 runc、containerd 和 Docker。如果使用此脚本配置机器,Docker 版本可能会意外地大幅升级。在将升级部署到生产系统之前,应始终在测试环境中进行测试。
  • 该脚本不旨在升级已存在的 Docker 安装。使用脚本更新已存在的安装时,依赖项可能不会更新到预期的版本,从而导致版本过时。
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

在基于 Debian 的发行版上,Docker 引擎会自动启动。在基于 RPM 的发行版上,您可以使用 systemctl 或 service 命令手动启动它。

如何在 Linux 上卸载 Docker 引擎?

在 Ubuntu 上卸载 Docker 引擎很简单。您可以使用以下命令卸载 Docker 软件包,然后删除所有配置和镜像、容器等。

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io 
   docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd

结论

您现在已成功在 Linux 机器上安装了 Docker Engine。在本综合指南中,您学习了如何从 APT 仓库安装 Docker,如何通过下载软件包安装,以及如何使用便捷脚本安装。

您可以选择最适合您需求的方法。我们还解释了完全卸载 Docker Engine 的步骤,以防您想将其删除或安装其他版本。

常见问题

Q1. Docker 在 Linux 上免费吗?

确实,独立开发人员和爱好者可以使用 Docker 的免费社区版。此版本包含创建、执行和维护容器的所有必要功能。

Docker 的免费版本非常适合刚开始使用 Linux 的用户,而订阅计划则附带其他功能,例如私有注册表和企业支持。

Q2. Docker 需要多少 RAM?

您运行的容器的复杂性将决定 Docker 需要多少内存。为基本 Docker 使用预留至少 2GB 的 RAM 是一个合理的经验法则。但是,在容器内部使用大量内存的应用程序可能需要更多内存。

注意系统正在使用多少 RAM,并根据需要修改分配。

Q3. Docker 是虚拟机吗?

不是,虚拟机 (VM) 和 Docker 容器之间存在一些显着差异。Docker 容器共享宿主的内核,但虚拟机 (VM) 模拟整个操作系统。因此,容器比虚拟机轻量级且启动速度更快。

可以将虚拟机 (VM) 视为计算机内部的完整计算机,而容器则是共享相同资源的不同进程。

Q4. Docker 对初学者友好吗?

虽然 Docker 有一定的学习曲线,但其基本理念非常简单。面向初学者的在线资源和教程非常丰富。Docker 可用于优化开发流程,因为它可以将应用程序及其依赖项打包成单独的部分。

初学者只需付出少量努力即可利用 Docker 的功能来改善他们的开发体验。

Q5. 哪种 Linux 操作系统最适合 Docker?

大多数流行的 Linux 发行版(包括 Fedora、Ubuntu、Debian 和 CentOS)都对 Docker 提供了良好的支持。“最佳”操作系统取决于您的舒适度和喜好。如果您是 Linux 新手,Ubuntu 是一个广受欢迎的选择,以其用户友好性而闻名。

最终,Docker 应该与任何具有强大包管理器的当前 Linux 发行版兼容。

广告