首页 / Docker 入门教程 / 安装 Docker:Linux 方式

Docker 入门教程

安装 Docker:Linux 方式

本教程共 25 篇 · 第 4 篇 · 更新于 2026-07-26 · 约 8 分钟阅读

DockerDocker 入门教程LinuxUbuntuCentOS安装docker-ce

4. 安装 Docker:Linux 方式

本节目标:在 Ubuntu/Debian 和 CentOS 这两类主流 Linux 上,用官方软件源把 Docker Engine 装好,配好开机自启和免 sudo,学完你能在一台干净的 Linux 服务器上跑通 Docker。

Linux 上为什么不装 Desktop

服务器场景下,没人给你桌面环境,也没必要。Docker Engine 本身就是命令行工具,直接装在 Linux 上原生跑,性能最好、开销最小。

Linux 上的 Docker 软件包叫 docker-ce(Community Edition,社区版)。装它的标准方式是添加 Docker 官方的软件源,再用系统的包管理器安装。这样能拿到最新版本,也方便以后升级。

Note

本教程基于 Docker Engine 29.6.2。下面所有命令都已按 v29 的安装方式校准,和网上一些基于老版本(apt 用 apt-key、yum 用旧 GPG 密钥)的教程略有不同,以这里为准。

先把旧版本清掉

很多 Linux 发行版自带一个叫 dockerdocker.io 的老包,和我们要装的 docker-ce 不是一回事。先卸载,免得冲突。

Ubuntu/Debian 执行:

sudo apt-get remove docker docker-engine docker.io containerd runc

CentOS 执行:

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

卸载老包不会删除你已有的镜像、容器等数据(它们在 /var/lib/docker 下)。但如果你是从零开始,清干净总是更省心。

Ubuntu / Debian 上安装

这里以 Ubuntu 22.04/24.04 为例,Debian 11/12 流程一样。

第一步:装依赖、加官方 GPG 密钥

# 更新包索引,装上通过 HTTPS 取包所需的依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

# 创建存放密钥的目录
sudo install -m 0755 -d /etc/apt/keyrings

# 下载 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 给密钥文件加上可读权限
sudo chmod a+r /etc/apt/keyrings/docker.gpg

第二步:添加 Docker 软件源

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
Tip

国内访问 download.docker.com 比较慢,可以把上面两处地址换成清华镜像源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu。功能完全一样,只是下载快很多。

第三步:安装

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

这几个包分别是:引擎本体、命令行、容器运行时、构建插件、Compose 插件。一次性装齐,后面用得着。

CentOS 上安装

CentOS 9 Stream 及类似版本,用 dnf 来装。

第一步:装插件、加源

# 安装管理 dnf 仓库的插件
sudo dnf install -y dnf-plugins-core

# 添加 Docker 官方源
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/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

第二步:安装

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

安装时如果提示验证 GPG 密钥指纹,确认是否为 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,匹配就接受。

启动服务并设置开机自启

装完 Docker 默认没有启动,需要手动拉起来:

sudo systemctl start docker

希望它开机自动启动,执行:

sudo systemctl enable docker

或者一条命令同时启动并设置自启:

sudo systemctl enable --now docker

配置免 sudo(很重要)

默认情况下,只有 root 用户和 docker 组的成员能操作 Docker。每次敲命令都加 sudo 太烦,把你的普通用户加进 docker 组就行:

sudo usermod -aG docker $USER

$USER 是当前用户名。加完之后必须重新登录(或者执行 newgrp docker),权限才会生效。

Warning

把用户加进 docker 组,等于给了这个用户 root 级权限—因为可以通过挂载宿主文件系统提权。单机学习无所谓,多人共享的服务器要谨慎,别给不信任的账号加。

验证安装

和 Desktop 一样,跑几条命令确认:

docker --version

应显示 Docker version 29.6.2。再看守护进程状态:

sudo systemctl status docker

看到绿色的 active (running) 就说明服务起来了。最后跑测试镜像:

docker run hello-world

看到 Hello from Docker!,安装圆满完成。

顺便说说脚本一键安装

如果懒得一步步配源,Docker 官方提供了便捷脚本:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

它会自动识别发行版、配好源、装上 Docker。适合快速搭测试环境。

Warning

官方自己都说,这个脚本不适合生产环境用。它无法自定义参数,也不让你挑版本,装的是最新稳定版,没法锁版本。生产环境还是老老实实走上面的官方源方式。

卸载 Docker

万一要卸载,分两步。先删包:

# Ubuntu/Debian
sudo apt-get purge docker-ce docker-ce-cli containerd.io \
                    docker-buildx-plugin docker-compose-plugin

# CentOS
sudo dnf remove docker-ce docker-ce-cli containerd.io \
                  docker-buildx-plugin docker-compose-plugin

再删数据(镜像、容器、配置都在这):

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
Tip

/var/lib/docker 删了就没了,里面的镜像和容器全清空。删之前想保留数据,先备份这个目录。

小结

Linux 上装 Docker 的套路很固定:卸老版、加官方源、装 docker-ce 那套包、启动服务、加用户组。Ubuntu 用 apt,CentOS 用 dnf,其余步骤几乎一样。

装好之后,下一节我们先配一个对国内用户特别重要的东西—镜像加速,否则拉镜像会让你等到怀疑人生。