在服务器上安装 Docker

安装 Docker Engine

本节描述了如何在 Linux 上安装 Docker Engine,也称为 Docker 社区版(Docker CE)。

支持的平台

平台 x86_64 / amd64 arm64 / aarch64 arm (32-bit) ppc64le s390x
CentOS
Debian
Fedora
Raspberry Pi OS (32-bit)
RHEL
SLES
Ubuntu
二进制文件

一、在 CentOS/RHEL 上安装 Docker Engine 的步骤如下:

1.准备工作

1.1 卸载旧版本

在安装 Docker Engine 之前,您需要卸载任何冲突的包。运行以下命令以卸载所有冲突的包:

sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

请注意,dnf 可能会报告您没有安装这些包。

存储在 /var/lib/docker/ 中的镜像、容器、卷和网络不会在您卸载 Docker 时自动删除。

2.安装方法

2.1 设置仓库

安装 dnf-plugins-core 包(它提供了管理 DNF 仓库的命令)并设置仓库:

sudo dnf -y install dnf-plugins-core
sudo yum install -y yum-utils

根据系统选择对应的命令
- CentOS
bash yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- RHEL
bash yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
国内可设置清华大学开源软件镜像加速下载(可选)

sudo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
2.2 安装 Docker Engine

安装最新的 Docker 包:

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动 Docker Engine:

sudo systemctl start docker

如果您希望在您启动系统时自动启动 Docker,请使用

sudo systemctl enable --now docker

二、在 Ubuntu/Debian/Raspbian 上安装 Docker Engine 的步骤如下:

1.准备工作

1.1 卸载旧版本

在安装 Docker Engine 之前,您需要卸载任何冲突的包。运行以下命令以卸载所有冲突的包:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

此外,如果您之前已经安装了 containerd.iorunc,也请一并卸载,以免与 Docker Engine 捆绑的版本发生冲突。

2.安装方法

2.1 设置 Docker 仓库
  • 添加 Docker 的官方 GPG 密钥:

    sudo apt-get update
    
    sudo apt-get install ca-certificates curl gnupg
    
    sudo install -m 0755 -d /etc/apt/keyrings
    

    根据系统选择对应的命令

    • Ubuntu
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
      
    • Debian
      curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
      
    • Raspbian
      curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
      
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    
  • 将仓库添加到 Apt 源列表中:
    根据系统选择对应的命令

    • Ubuntu
      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
        "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
         sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    • Debian
      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
        "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
         sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    • Raspbian
      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/raspbian \
        "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
         sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    sudo apt-get update
    
2.2 安装 Docker 包

要安装最新版本,请运行:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

三、在 Fedora 上安装 Docker Engine 的步骤如下:

1.准备工作

1.1 卸载旧版本

在安装 Docker Engine 之前,您需要卸载任何冲突的包。运行以下命令以卸载所有冲突的包:

sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

请注意,dnf 可能会报告您没有安装这些包。

存储在 /var/lib/docker/ 中的镜像、容器、卷和网络不会在您卸载 Docker 时自动删除。

2.安装方法

2.1 设置仓库

安装 dnf-plugins-core 包(它提供了管理 DNF 仓库的命令)并设置仓库:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

国内可设置清华大学开源软件镜像加速下载(可选)

sudo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
2.2 安装 Docker Engine

安装最新的 Docker 包:

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动 Docker Engine:

sudo systemctl start docker

如果您希望在您启动系统时自动启动 Docker,请使用

sudo systemctl enable --now docker

四、验证安装

验证安装是否成功,可以运行一个简单的镜像 hello-world

sudo docker run hello-world

此命令下载一个测试镜像并在容器中运行它。当容器运行时,它会打印一条确认信息然后退出。

至此,您已成功安装并启动了 Docker Engine。