Ubuntu24安装docker
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-buildx、docker-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 的关键步骤:
- 卸载旧版本 → 2. 添加 Docker 官方源 → 3. 安装 Docker Engine → 4. 配置国内镜像加速 → 5. 验证
全程复制粘贴即可完成,耗时 约 5 分钟。装完后别忘了配置镜像加速,否则 docker pull 会怀疑人生 😅
📖 参考文档:Docker 官方安装指南
更多推荐
所有评论(0)