Ubuntu 24.04 安装 Docker 完整教程(含国内镜像加速)

在 Ubuntu 24.04 上从零安装 Docker Engine,配置国内镜像加速,一步到位。


一、环境准备

本文基于 Ubuntu 24.04 LTS,其他 Ubuntu 版本(20.04 / 22.04)同样适用。

为什么不用 apt install docker

Ubuntu 官方源里的 docker.io 包版本很旧,而且缺少 docker-buildxdocker-compose-plugin 等核心组件。推荐从 Docker 官方源安装,确保最新版本和完整功能。


二、卸载旧版本

如果你的系统之前装过 Docker 相关包,先清理干净:

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

podman-docker 是一个 Docker CLI 兼容层,如果装过 Podman 可能会残留,一并删除避免冲突。


三、添加 Docker 官方 GPG 密钥和软件源

3.1 安装前置依赖

sudo apt-get update
sudo apt-get install ca-certificates curl

3.2 添加 Docker GPG 密钥

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

为什么要用 /etc/apt/keyrings/
这是 Ubuntu 22.04+ 推荐的方式,比旧的 apt-key add 更安全——密钥只对 Docker 仓库生效,不会影响系统全局信任链。

3.3 添加 Docker 软件源

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

sudo apt-get update

解释一下这条命令在做什么:

  • dpkg --print-architecture → 自动获取系统架构(amd64 / arm64)
  • $(. /etc/os-release && echo "$UBUNTU_CODENAME") → 自动匹配 Ubuntu 版本代号(如 noble
  • 不需要手动替换版本号,一条命令适配所有 Ubuntu 版本

四、安装 Docker Engine

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

安装的组件说明:

组件 作用
docker-ce Docker Engine 本体
docker-ce-cli docker 命令行工具
containerd.io 容器运行时
docker-buildx-plugin 多平台镜像构建(docker buildx
docker-compose-plugin Docker Compose V2(docker compose,注意中间没有横杠)

五、启动 Docker 并验证

# 启动 Docker 服务
sudo systemctl start docker

# 查看运行状态
sudo systemctl status docker

# 设置开机自启(推荐)
sudo systemctl enable docker

验证安装是否成功:

sudo docker run hello-world

看到 Hello from Docker! 就说明安装成功了。


六、配置国内镜像加速(重要!)

由于 Docker Hub 在国内访问速度极慢甚至超时,必须配置镜像加速器。

6.1 创建 daemon 配置

sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.hlmirror.com",
        "https://docker.imgdb.de",
        "https://docker-0.unsee.tech",
        "https://docker.1ms.run",
        "https://func.ink",
        "https://lispy.org",
        "https://docker.xiaogenban1993.com"
    ]
}
EOF

镜像源说明(按推荐优先级排列):

镜像源 提供方 备注
docker.m.daocloud.io DaoCloud 老牌镜像站,稳定
docker.hlmirror.com 翰林镜像 更新及时
docker.imgdb.de 个人维护 海外节点
docker.1ms.run 1ms 速度较快
其余 社区维护 备用

⚠️ 国内镜像站经常变动,如果遇到 dial tcp: lookup xxx: no such host 错误,去掉失效的镜像地址或更换新的即可。

6.2 重启 Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

6.3 验证镜像加速是否生效

docker info | grep -A 10 "Registry Mirrors"

看到你配置的镜像地址列表就说明配置成功了。拉一个镜像试试速度:

docker pull nginx:alpine

七、非 root 用户运行 Docker(可选但推荐)

每次敲 sudo 很烦?把当前用户加入 docker 组:

sudo usermod -aG docker $USER

退出终端重新登录后生效(或者执行 newgrp docker)。

之后就可以免 sudo 使用 Docker 了:

docker ps
docker run -it ubuntu bash

八、常见问题

Q1: apt-get update 报 GPG 错误

GPG error: https://download.docker.com/linux/ubuntu noble InRelease:
  The following signatures couldn't be verified

解决:

sudo rm /etc/apt/keyrings/docker.asc
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo apt-get update

Q2: docker pull 超时

镜像加速可能失效,更新 /etc/docker/daemon.json 中的镜像地址,然后重启 Docker:

sudo systemctl restart docker

Q3: docker: permission denied

sudo usermod -aG docker $USER
# 退出终端重新登录

九、总结

Ubuntu 24.04 安装 Docker 的关键步骤:

  1. 卸载旧版本 → 2. 添加 Docker 官方源 → 3. 安装 Docker Engine → 4. 配置国内镜像加速 → 5. 验证

全程复制粘贴即可完成,耗时 约 5 分钟。装完后别忘了配置镜像加速,否则 docker pull 会怀疑人生 😅


📖 参考文档:Docker 官方安装指南

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐