Ubuntu 24.04安装Docker完整教程
Docker 作为当今最流行的容器化技术,已成为现代软件开发和部署的重要工具。在 Ubuntu 24.04 LTS 系统上正确安装和配置 Docker,对于构建高效的开发环境至关重要。本教程基于 Docker 官方文档和 Ubuntu 官方指导,提供最新的安装步骤,并特别针对国内网络环境进行了优化,确保安装过程顺畅无阻。
教程概述
本教程将带你完成在 Ubuntu 24.04 (Noble Numbat) 上安装 Docker 和 Docker Compose 的完整过程。内容包括:
- 环境准备:系统要求检查和前置条件
- 官方安装:使用 Docker 官方源进行标准安装
- 国内优化:配置阿里云等国内镜像源加速下载
- 验证测试:确保安装成功并正常工作
- 进阶配置:非root用户配置和镜像加速器设置
- 问题解决:常见安装问题的解决方案
无论你是Docker新手还是有经验的开发者,本教程都将为你提供可靠的安装指导。
前提条件
- 系统:Ubuntu 24.04 LTS (Noble Numbat),64 位版本
- 权限:需要 root 或 sudo 权限
- 网络:稳定的互联网连接,建议配置国内镜像源以加速下载
- 最低内核版本:3.10(Ubuntu 24.04 默认满足)
步骤 1:卸载旧版本 Docker
为避免冲突,先卸载可能存在的旧版本 Docker 或相关组件:
1 | sudo apt-get remove docker docker-engine docker.io containerd runc |
命令解释:
sudo apt-get remove
:使用管理员权限删除指定的软件包docker
:旧版本的 Docker 软件包docker-engine
:旧版本的 Docker 引擎docker.io
:Ubuntu 官方仓库中的 Docker 包(非官方最新版)containerd
:容器运行时(将重新安装官方版本)runc
:低级容器运行时(将重新安装官方版本)
sudo apt-get autoremove
:自动清理不再需要的依赖包,释放磁盘空间
注意:即使系统中没有安装这些包,执行此命令也不会产生错误,确保环境干净。
步骤 2:安装必要的依赖
更新系统并安装必要软件包以支持 HTTPS 和 GPG 密钥:
1 | sudo apt update |
命令解释:
sudo apt update
:更新软件包列表,从配置的源获取最新的包信息sudo apt upgrade -y
:升级系统中已安装的所有软件包到最新版本-y
:自动确认所有提示,无需手动输入 “yes”
sudo apt install -y
:安装以下必需的软件包:apt-transport-https
:允许 apt 通过 HTTPS 协议下载包(Ubuntu 22.04+ 已内置)ca-certificates
:包含受信任的证书颁发机构证书,用于验证 HTTPS 连接curl
:命令行下载工具,用于获取 GPG 密钥gnupg
:GNU 隐私保护工具,用于处理 GPG 密钥和签名验证lsb-release
:提供 Linux 标准库信息,用于自动检测系统版本
提示:这些软件包确保系统能够安全下载和验证 Docker 官方软件包。
步骤 3:添加 Docker 官方 GPG 密钥
导入 Docker 官方 GPG 密钥以验证软件包:
1 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg |
命令解释:
curl -fsSL
:下载文件的参数组合-f
:静默模式,遇到错误时立即退出-s
:静默模式,不显示进度条-S
:显示错误信息-L
:跟随重定向
https://download.docker.com/linux/ubuntu/gpg
:Docker 官方 GPG 密钥的下载地址|
:管道符,将 curl 的输出传递给下一个命令sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
:gpg --dearmor
:将 ASCII 格式的 GPG 密钥转换为二进制格式-o /etc/apt/keyrings/docker.gpg
:指定输出文件路径
sudo chmod a+r /etc/apt/keyrings/docker.gpg
:设置文件权限,允许所有用户读取密钥文件
国内用户优化:如果访问 download.docker.com
较慢,可使用阿里云镜像源:
1 | curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg |
安全说明:GPG 密钥用于验证从 Docker 仓库下载的软件包的真实性,防止恶意软件包。
步骤 4:添加 Docker 软件源
将 Docker 官方软件源添加到系统(默认使用 Noble 的稳定版仓库):
1 | echo \ |
命令解释:
echo \
:输出文本,\
表示换行继续deb [options] URL distribution component
:Debian 软件源格式arch=$(dpkg --print-architecture)
:自动检测系统架构(如 amd64)signed-by=/etc/apt/keyrings/docker.gpg
:指定用于验证的 GPG 密钥https://download.docker.com/linux/ubuntu
:Docker 官方软件源 URLnoble
:Ubuntu 24.04 的代号stable
:使用稳定版分支
|
:管道符,将 echo 输出传递给 tee 命令sudo tee /etc/apt/sources.list.d/docker.list
:将内容写入 Docker 源列表文件> /dev/null
:将 tee 的标准输出重定向到空设备,避免屏幕显示
国内用户优化:使用阿里云镜像源替代官方源:
1 | echo \ |
路径说明:
/etc/apt/sources.list.d/
目录用于存放额外的软件源配置文件,避免修改主配置文件。
步骤 5:安装 Docker Engine 和相关组件
更新软件包索引并安装 Docker Engine、CLI、containerd 以及 Docker Compose 插件:
1 | sudo apt update |
命令解释:
sudo apt update
:更新软件包索引,获取新添加的 Docker 软件源中的包信息sudo apt install -y
:安装以下 Docker 相关组件:docker-ce
:Docker Community Edition 引擎,Docker 的核心服务docker-ce-cli
:Docker 命令行客户端,提供docker
命令containerd.io
:容器运行时,负责管理容器的生命周期docker-buildx-plugin
:扩展构建功能的插件,支持多平台构建docker-compose-plugin
:Docker Compose V2 插件,提供docker compose
命令
版本说明:这里安装的是最新稳定版本,包含了完整的 Docker 功能和现代化的工具链。
步骤 6:验证 Docker 安装
启动 Docker 服务并设置开机自启:
1 | sudo systemctl start docker |
命令解释:
sudo systemctl start docker
:立即启动 Docker 服务sudo systemctl enable docker
:设置 Docker 服务开机自动启动
检查 Docker 是否安装成功:
1 | sudo docker --version |
命令解释:
sudo docker --version
:显示 Docker 版本信息,确认安装成功sudo docker run hello-world
:运行官方测试容器,验证 Docker 功能- 首次运行会自动下载
hello-world
镜像 - 成功运行表示 Docker 引擎工作正常
- 首次运行会自动下载
预期输出:
- Docker 版本信息(如
Docker version 27.3.1
) hello-world
容器的欢迎信息,确认 Docker 正常工作
服务状态检查:可使用
sudo systemctl status docker
查看 Docker 服务运行状态。
步骤 7:验证 Docker Compose 安装(插件已包含)
自 Docker 20.10 起,Docker Compose V2 已作为 docker-compose-plugin
集成到 Docker CLI 中,步骤 5 已安装最新版本的 Compose 插件。
验证 Docker Compose 安装:
1 | docker compose version |
命令解释:
docker compose version
:显示 Docker Compose 插件版本信息- 注意使用空格分隔的
docker compose
,而非连字符的docker-compose
- 这是 Docker Compose V2 的标准调用方式
- 注意使用空格分隔的
预期输出:
- 如
Docker Compose version v2.30.3
(版本号会随时间更新)
版本说明:
- V2 优势:性能更好,功能更强,与 Docker CLI 深度集成
- 命令格式:使用
docker compose
而非旧版docker-compose
- 兼容性:完全兼容现有的
docker-compose.yml
文件
注意:如果需要独立版 Compose(不推荐),可参考以下可选步骤。
可选:安装独立版 Docker Compose(V2)
如果需要独立版 Docker Compose(例如兼容旧项目),可手动下载二进制文件:
检查最新版本:访问 Docker Compose GitHub 发布页面。
下载最新版本(以 v2.30.3 为例):
1
sudo curl -L "https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
命令解释:
sudo curl -L
:使用管理员权限下载文件,-L
跟随重定向$(uname -s)
:自动获取操作系统名称(如 Linux)$(uname -m)
:自动获取系统架构(如 x86_64)-o /usr/local/bin/docker-compose
:指定下载文件的保存路径
国内用户优化:使用国内镜像加速:
1
sudo curl -L "https://download.fastgit.org/docker/compose/releases/download/v2.30.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
添加执行权限:
1
sudo chmod +x /usr/local/bin/docker-compose
命令解释:
sudo chmod +x
:为文件添加可执行权限/usr/local/bin/docker-compose
:独立版 Docker Compose 的安装路径
验证安装:
1
docker-compose --version
命令解释:
docker-compose --version
:显示独立版 Docker Compose 版本(注意使用连字符)
预期输出:
- 如
Docker Compose version v2.30.3
路径说明:
/usr/local/bin/
目录通常包含在系统 PATH 中,安装到此处的程序可在任何位置调用。
步骤 8:配置镜像加速(国内用户推荐)
国内访问 Docker Hub 可能较慢,建议配置镜像加速器(如阿里云或清华镜像):
编辑 Docker 配置文件:
1
2sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json命令解释:
sudo mkdir -p /etc/docker
:创建 Docker 配置目录(如果不存在)-p
:递归创建目录,不报错如果已存在
sudo nano /etc/docker/daemon.json
:使用 nano 编辑器创建/编辑 Docker 守护进程配置文件
添加以下内容(以阿里云为例,需替换为自己的加速器地址):
1
2
3
4
5
6
7{
"registry-mirrors": [
"https://<你的阿里云加速器地址>.mirror.aliyuncs.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io"
]
}配置说明:
registry-mirrors
:指定镜像加速器列表,Docker 会按顺序尝试- 阿里云加速器:需登录阿里云容器镜像服务获取专属地址
- 百度云镜像:公共加速器,无需注册
- DaoCloud 镜像:国内知名的容器云服务商提供的加速器
获取阿里云加速器:登录 阿里云容器镜像服务,在镜像加速器页面获取专属地址。
重启 Docker 服务:
1
2sudo systemctl daemon-reload
sudo systemctl restart docker命令解释:
sudo systemctl daemon-reload
:重新加载 systemd 守护进程配置sudo systemctl restart docker
:重启 Docker 服务以应用新配置
验证加速器配置:
1
docker info | grep -A 5 "Registry Mirrors"
- 应显示配置的镜像加速器地址列表
步骤 9:配置非 root 用户运行 Docker(可选)
默认情况下,Docker 命令需使用 sudo
。若需以非 root 用户运行:
1 | sudo usermod -aG docker $USER |
命令解释:
sudo usermod -aG docker $USER
:将当前用户添加到 docker 用户组usermod
:修改用户账户的命令-aG
:追加(append)用户到组(group),保留现有组成员身份docker
:Docker 守护进程创建的系统用户组$USER
:环境变量,代表当前登录的用户名
newgrp docker
:切换到 docker 组,立即生效新的组权限
生效方式:
- 立即生效:执行
newgrp docker
命令 - 重新登录:注销并重新登录系统
- 重启终端:关闭并重新打开终端窗口
验证配置:
1 | # 验证当前用户是否在 docker 组中 |
安全提示:添加用户到 docker 组等同于给予 root 权限,因为 Docker 守护进程以 root 身份运行。请仅在受信任的环境中使用此配置。
常见问题处理
网络超时问题:
现象:
apt update
或curl
命令超时失败解决方案:检查网络连接或切换至国内镜像源(如阿里云或清华源)
验证网络:
1
2ping -c 4 8.8.8.8 # 测试网络连通性
curl -I https://download.docker.com # 测试 Docker 官方源访问
Docker 服务未启动:
1
2sudo systemctl status docker
sudo systemctl start docker命令解释:
sudo systemctl status docker
:查看 Docker 服务当前状态active (running)
:服务正常运行inactive (dead)
:服务未启动failed
:服务启动失败
sudo systemctl start docker
:手动启动 Docker 服务
进一步诊断:
1
2
3
4
5# 查看 Docker 服务日志
sudo journalctl -u docker.service -f
# 检查 Docker 守护进程配置
sudo dockerd --validate --config-file=/etc/docker/daemon.json权限问题:
现象:普通用户运行
docker
命令提示 “permission denied”解决方案:确保以 root 或 sudo 权限执行命令,或按步骤 9 配置非 root 用户
验证权限:
1
2
3
4
5# 检查当前用户组
id $USER
# 检查 Docker socket 权限
ls -la /var/run/docker.sock
旧版 Compose 兼容性:
现象:项目依赖旧版
docker-compose
(V1)命令解决方案:建议迁移到 V2 或安装独立版
检查版本:
1
2
3
4
5# 检查 V2 插件版本
docker compose version
# 检查独立版本(如已安装)
docker-compose --version
镜像拉取失败:
现象:
docker pull
或docker run
时镜像下载超时解决方案:配置镜像加速器(参考步骤 8)
验证加速器:
1
2
3
4
5# 查看 Docker 信息
docker info | grep -A 5 "Registry Mirrors"
# 测试拉取镜像
docker pull hello-world
参考来源
- Docker 官方文档:Install Docker Engine on Ubuntu
- Docker Compose 官方安装指南:Install Docker Compose
- 阿里云 Docker 安装指南:安装 Docker 并使用镜像仓库
- Ubuntu 24.04 Docker 安装教程:系统极客
总结
通过以上详细步骤,您已在 Ubuntu 24.04 (Noble Numbat) 上成功完成了 Docker 的完整安装和配置:
🎉 安装成果
- ✅ Docker Engine:最新稳定版本,支持完整的容器化功能
- ✅ Docker Compose V2:现代化的容器编排工具,性能更优
- ✅ 镜像加速:配置国内镜像源,显著提升镜像下载速度
- ✅ 用户权限:可选的非 root 用户配置,提升使用便利性
- ✅ 服务自启:Docker 服务开机自动启动,确保环境可用
🔧 下一步建议
学习 Docker 基础:
1
2
3
4
5
6# 拉取并运行常用镜像
docker pull nginx
docker run -d -p 8080:80 nginx
# 查看运行中的容器
docker ps探索 Docker Compose:
1
2
3# 创建简单的 docker-compose.yml
# 管理多容器应用
docker compose up -d构建自定义镜像:
1
2
3# 学习 Dockerfile 编写
# 构建项目镜像
docker build -t myapp .
🛠️ 维护提醒
- 定期更新:保持 Docker 版本最新以获得安全修复和新功能
- 清理资源:定期清理未使用的镜像和容器以释放磁盘空间
- 监控服务:确保 Docker 服务运行状态良好
现在您已拥有一个完整、高效的 Docker 开发环境,可以开始您的容器化之旅了!如遇问题,请参考常见问题处理部分或查阅官方文档。