在服务器上安装 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。

相关推荐
阿巴~阿巴~4 分钟前
自主Shell命令行解释器
linux·运维·服务器
小周学学学7 分钟前
docker安装与简单项目上手
运维·docker·容器
David爱编程15 分钟前
K8s 的 Namespace 到底解决了什么问题?
云原生·容器·kubernetes
婷儿z20 分钟前
Kubernetes 架构原理与集群环境部署
容器·架构·kubernetes
GOKORURI1 小时前
Podman + Nginx + Affine 踩坑教程
容器·教程·web
小刘|1 小时前
腾讯云服务上下载docker以及使用Rabbitmq的流程
docker·rabbitmq·腾讯云
枷锁—sha1 小时前
跨站请求伪造漏洞(CSRF)详解
运维·服务器·前端·web安全·网络安全·csrf
云途行者1 小时前
使用 docker 安装 openldap
运维·docker·容器
群联云防护小杜1 小时前
深度隐匿源IP:高防+群联AI云防护防绕过实战
运维·服务器·前端·网络·人工智能·网络协议·tcp/ip
退役小学生呀2 小时前
十五、K8s可观测能力:日志收集
linux·云原生·容器·kubernetes·k8s