在服务器上安装 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 之前,您需要卸载任何冲突的包。运行以下命令以卸载所有冲突的包:

bash 复制代码
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 仓库的命令)并设置仓库:

bash 复制代码
sudo dnf -y install dnf-plugins-core
bash 复制代码
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

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

bash 复制代码
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 包:

bash 复制代码
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动 Docker Engine:

bash 复制代码
sudo systemctl start docker

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

bash 复制代码
sudo systemctl enable --now docker

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

1.准备工作

1.1 卸载旧版本

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

bash 复制代码
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 密钥:

    bash 复制代码
    sudo apt-get update
    bash 复制代码
    sudo apt-get install ca-certificates curl gnupg
    bash 复制代码
    sudo install -m 0755 -d /etc/apt/keyrings

    根据系统选择对应的命令

    • Ubuntu

      bash 复制代码
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    • Debian

      bash 复制代码
      curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    • Raspbian

      bash 复制代码
      curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    bash 复制代码
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
  • 将仓库添加到 Apt 源列表中:

    根据系统选择对应的命令

    • Ubuntu

      bash 复制代码
      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

      bash 复制代码
      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

      bash 复制代码
      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
    bash 复制代码
    sudo apt-get update
2.2 安装 Docker 包

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

bash 复制代码
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 之前,您需要卸载任何冲突的包。运行以下命令以卸载所有冲突的包:

bash 复制代码
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 仓库的命令)并设置仓库:

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

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

bash 复制代码
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 包:

bash 复制代码
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动 Docker Engine:

bash 复制代码
sudo systemctl start docker

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

bash 复制代码
sudo systemctl enable --now docker

四、验证安装

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

bash 复制代码
sudo docker run hello-world

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

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

相关推荐
消失的旧时光-19432 分钟前
Linux 编辑器入门:nano 与 vim 的区别与选择指南
linux·运维·服务器
斯普信专业组4 分钟前
构建基于MCP的MySQL智能运维平台:从开源服务端到交互式AI助手
运维·mysql·开源·mcp
liu****1 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
池央1 小时前
CANN 诊断工具链深度解析:oam-tools 的自动化故障信息收集、软硬件状态快照与 AI Core 错误溯源机制
运维·人工智能·自动化
云边有个稻草人2 小时前
打工人摸鱼新姿势!轻量斗地主服务器,内网穿透让同事远程联机不翻车
运维·服务器·cpolar
乾元2 小时前
终端安全(EDR):用深度学习识别未知勒索软件
运维·人工智能·网络协议·安全·网络安全·自动化·安全架构
logocode_li2 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s
wbs_scy2 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
安科瑞刘鸿鹏172 小时前
高速路灯故障难定位?用 ASL600 实现精确单灯监测与维护预警
运维·网络·物联网·安全
馨谙2 小时前
Ansible 事实(Facts)全面指南:自动化运维中的主机信息管理
运维·ansible