CentOS 安装与升级 Docker

卸载老版本和依赖项

1
2
3
4
5
6
7
8
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

保留/var/lib/docker/的内容,包括图像、容器、卷和网络。Docker Engine软件包现在被称为docker-ce。

使用存储库安装

在新主机上首次安装Docker引擎之前,您需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

设置存储库

安装yum-utils软件包(提供yum-config-manager实用程序)并设置稳定的存储库。

1
2
3
4
5
sudo yum install -y yum-utils

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

可选的:开启夜间版本或测试版本存储库
这些存储库包含在上面的docker.repo文件中,但默认情况下被禁用。您可以将它们与稳定的存储库一起启用。以下命令启用夜间存储库。
sudo yum-config-manager --enable docker-ce-nightly
要启用测试通道,请运行以下命令:
sudo yum-config-manager --enable docker-ce-test
您可以通过运行带有--disable标志的yum-config-manager命令来禁用夜间或测试存储库。要重新启用它,请使用--enable标志。以下命令将禁用夜间存储库。
sudo yum-config-manager --disable docker-ce-nightly

安装Docker引擎

  1. 安装最新版本的Docker引擎和容器化,或转到下一步安装特定版本:
1
sudo yum install docker-ce docker-ce-cli containerd.io

如果系统提示接受GPG密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,请接受。

有多个Docker存储库吗?

如果您启用了多个Docker存储库,则在yum installyum update命令中不指定版本的情况下安装或更新始终安装尽可能高的版本,这可能不适合您的稳定性需求。

此命令安装Docker,但它不会启动Docker。它还创建一个docker组,但是,默认情况下,它不会向组添加任何用户。

  1. 要安装特定版本的Docker Engine,请在回购协议中列出可用版本,然后选择并安装:

    a. 列出并排序回购协议中可用的版本。此示例按版本号对结果进行排序,从最高到最低,并被截断:

    1
    2
    3
    4
    5
    6
    yum list docker-ce --showduplicates sort -r

    docker-ce.x86_64 3:18.09.1-3.e17 docker-ce-stable
    docker-ce.x86_64 3:18.09.0-3.e17 docker-ce-stable
    docker-ce.x86_64 18.06.1.ce-3.e17 docker-ce-stable
    docker-ce.x86_64 18.06.0.ce-3.e17 docker-ce-stable

    返回的列表取决于启用了哪些存储库,并且特定于您的CentOS版本(由本示例中的.el7后缀表示)。

    b. 通过其完全限定的软件包名称安装特定版本,即软件包名称(docker-ce)加上版本字符串(第2列),从第一个冒号(:)开始,直到第一个连字符,由连字符(-)分隔。例如,docker-ce-18.09.1

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

    此命令安装Docker,但它不会启动Docker。它还创建一个docker组,但是,默认情况下,它不会向组添加任何用户。

  2. 开启Docker

    1
    sudo systemctl start docker
  3. 通过运行hello-world映像来验证Docker引擎是否正确安装。

    1
    sudo docker run hello-world

    此命令下载测试映像并在容器中运行。当容器运行时,它会打印消息并退出。

这安装并运行Docker引擎。使用sudo运行Docker命令。继续Linux postinstall,允许非特权用户运行Docker命令和其他可选配置步骤。

升级Docker引擎

要升级Docker引擎,请按照安装说明,选择要安装的新版本。

从软件包安装

如果您无法使用Docker的存储库来安装Docker,您可以下载发布版本的.rpm文件并手动安装。每次想要升级Docker引擎时,您都需要下载一个新文件。

  1. 转到https://download.docker.com/linux/centos/并选择您的CentOS版本。然后浏览到x86_64/stable/Packages/,并下载您要安装的Docker版本的.rpm文件。

    笔记
    To install a nightly or test (pre-release) package, change the word stable in the above URL to nightly or test. Learn about nightly and test channels.

  2. 安装Docker引擎,将下面的路径更改为下载Docker软件包的路径。
    1
    安装Docker引擎,将下面的路径更改为下载Docker软件包的路径。
    Docker已安装,但尚未启动。创建了docker组,但没有将用户添加到组中。
  3. 开启Docker
    1
    sudo systemctl start docker
  4. 通过运行hello-world映像来验证Docker引擎是否正确安装。
    1
    sudo docker run hello-world
    此命令下载测试映像并在容器中运行。当容器运行时,它会打印消息并退出。

这安装并运行Docker引擎。使用sudo运行Docker命令。继续Linux postinstall,允许非特权用户运行Docker命令和其他可选配置步骤。

升级Docker引擎

要升级Docker引擎,请下载较新的软件包文件并重复安装过程,使用yum -y升级而不是yum -y安装,然后指向新文件。

卸载Docker引擎

  1. 卸载Docker Engine、CLI和Containerd软件包:

    1
    sudo yum remove docker-ce docker-ce-cli containerd.io
  2. 主机上的图像、容器、卷或自定义配置文件不会自动删除。要删除所有图像、容器和卷:

    1
    2
    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd

您必须手动删除任何编辑过的配置文件。