如何在 CentOS 上安装 Docker 引擎

在 CentOS 上安装 Docker Engine 的详尽指南

Docker Engine 是一款开源的容器化平台,广泛应用于 Linux 和其他操作系统。它通过管理独立的“容器”来实现应用隔离,这些容器类似于虚拟机。本指南将详细介绍如何在 CentOS 系统上安装 Docker Engine。

请注意,Docker Engine 仅支持 CentOS 7 和 CentOS 8。如果您的系统运行的是较旧版本的 CentOS,请务必在尝试安装 Docker 之前升级您的操作系统。

安装前的准备工作

在 CentOS 上安装 Docker Engine 之前,请务必移除任何旧版本的 Docker 或 Docker Engine。这是因为旧版本可能会与您即将安装的新版本产生冲突。卸载旧版本是确保安装过程顺利进行的关键步骤。

幸运的是,卸载 CentOS 系统上的旧 Docker 版本非常简单。只需打开终端,并使用 yum remove 命令删除以下软件包:

sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-engine

移除旧软件包后,您需要启用 “centos-extras” 软件仓库。通常情况下,此仓库在 CentOS 上是默认启用的,但如果您之前禁用了它,请务必重新启用,然后再继续安装 Docker Engine。

在 CentOS 7/CentOS 8 上安装 Docker Engine

开始安装 Docker Engine 的第一步是安装 yum-utils 软件包。该软件包提供了 yum-config-manager 工具,您将使用它来配置官方 Docker 仓库。打开终端并执行以下命令:

sudo yum install -y yum-utils

安装 yum-utils 后,使用 yum-config-manager 命令添加官方 Docker 仓库。添加此仓库可以确保您获得最新的 Docker 安全更新和补丁。

sudo yum-config-manager 
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo

上面的命令会启用 Docker 官方软件仓库。如果您需要 Docker 的 nightly 或测试频道仓库,您需要手动启用它们。

启用 Docker CE Nightly 仓库

虽然不建议在生产环境中使用 nightly 仓库,但如果您有特殊需求,可以启用它。使用以下命令启用 Docker CE Nightly 仓库:

sudo yum-config-manager --enable docker-ce-nightly

如果您决定禁用 Docker CE Nightly 仓库,请使用以下命令:

sudo yum-config-manager --disable docker-ce-nightly

启用 Docker CE 测试仓库

如果您希望测试 Docker CE 的新特性,可以启用测试仓库,但不建议将其用于生产环境。使用以下命令启用测试仓库:

sudo yum-config-manager --enable docker-ce-test

如果您不再需要测试仓库,可以使用以下命令禁用它:

sudo yum-config-manager --disable docker-ce-test

在配置完 Docker CE 软件仓库后,使用 yum list 命令查看可用的 Docker CE 版本:

yum list docker-ce --showduplicates | sort -r

此命令将显示所有可安装的 Docker CE 版本。如果您需要安装特定版本,可以从列表中选择。

例如,要安装版本 3:18.09.1-3,可以使用以下命令:

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

Docker CE 的安装过程应该很快。安装完成后,使用 Systemd 启用 Docker 服务,并使用 systemctl start 命令启动它:

sudo systemctl start docker

为了确保 Docker 在系统启动时自动启动,您需要启用它:

sudo systemctl enable docker

如果您需要停止 Docker 服务,可以使用以下命令:

sudo systemctl stop docker

您也可以使用以下命令禁用 Docker 在启动时自动启动:

sudo systemctl stop docker

Docker Engine 安装完成后,您需要进行测试以确保它正常运行。运行以下命令测试 Docker:

sudo docker run hello-world