安装 Docker:Linux 方式
本教程共 25 篇 · 第 4 篇 · 更新于 2026-07-26 · 约 8 分钟阅读
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 发行版自带一个叫 docker 或 docker.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,其余步骤几乎一样。
装好之后,下一节我们先配一个对国内用户特别重要的东西—镜像加速,否则拉镜像会让你等到怀疑人生。