Ubuntu 22.04安装Docker完整教程
Docker 作为当今最流行的容器化技术,已成为现代软件开发和部署的重要工具。在 Ubuntu 22.04 LTS 系统上正确安装和配置 Docker,对于构建高效的开发环境至关重要。本教程基于 Docker 官方文档和 Ubuntu 官方指导,提供最新的安装步骤,并特别针对国内网络环境进行了优化,确保安装过程顺畅无阻。
教程概述
本教程将带你完成在 Ubuntu 22.04 LTS (Jammy Jellyfish) 上安装 Docker 和 Docker Compose 的完整过程。内容包括:
- 环境准备:系统要求检查和前置条件
- 官方安装:使用 Docker 官方源进行标准安装
- 国内优化:配置阿里云等国内镜像源加速下载
- 验证测试:确保安装成功并正常工作
- 进阶配置:非root用户配置和镜像加速器设置
- 问题解决:常见安装问题的解决方案
无论你是Docker新手还是有经验的开发者,本教程都将为你提供可靠的安装指导。
前提条件
- 系统:Ubuntu 22.04 LTS (Jammy Jellyfish),64 位版本
- 权限:需要 root 或 sudo 权限
- 网络:稳定的互联网连接,建议配置国内镜像源以加速下载
- 最低内核版本:3.10(Ubuntu 22.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 协议下载包
- ca-certificates:包含受信任的证书颁发机构证书,用于验证 HTTPS 连接
- curl:命令行下载工具,用于获取 GPG 密钥
- gnupg:GNU 隐私保护工具,用于处理 GPG 密钥和签名验证
- lsb-release:提供 Linux 标准库信息,用于自动检测系统版本
 
提示:这些软件包确保系统能够安全下载和验证 Docker 官方软件包。
步骤 3:添加 Docker 官方 GPG 密钥
导入 Docker 官方 GPG 密钥以验证软件包:
| 1 | sudo mkdir -p /etc/apt/keyrings | 
命令解释:
- sudo mkdir -p /etc/apt/keyrings:创建密钥存储目录
- 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 官方软件源添加到系统(使用 Jammy 的稳定版仓库):
| 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 官方软件源 URL
- jammy:Ubuntu 22.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 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文件
步骤 8:配置镜像加速(国内用户推荐)
国内访问 Docker Hub 可能较慢,建议配置镜像加速器:
- 编辑 Docker 配置文件: - 1 
 2- sudo mkdir -p /etc/docker 
 sudo nano /etc/docker/daemon.json
- 添加以下内容: - 1 
 2
 3
 4
 5
 6- { 
 "registry-mirrors": [
 "https://mirror.baidubce.com",
 "https://docker.m.daocloud.io"
 ]
 }
- 重启 Docker 服务: - 1 
 2- sudo systemctl daemon-reload 
 sudo systemctl restart docker- 验证加速器配置: - 1 - docker info | grep -A 5 "Registry Mirrors" 
步骤 9:配置非 root 用户运行 Docker(可选)
默认情况下,Docker 命令需使用 sudo。若需以非 root 用户运行:
| 1 | sudo usermod -aG docker $USER | 
验证配置:
| 1 | # 验证当前用户是否在 docker 组中 | 
安全提示:添加用户到 docker 组等同于给予 root 权限,因为 Docker 守护进程以 root 身份运行。请仅在受信任的环境中使用此配置。
常见问题处理
- 网络超时问题: - 现象:apt update或curl命令超时失败
- 解决方案:检查网络连接或切换至国内镜像源
 
- 现象:
- Docker 服务未启动: - 1 
 2- sudo systemctl status docker 
 sudo systemctl start docker
- 权限问题: - 现象:普通用户运行 docker命令提示 “permission denied”
- 解决方案:确保以 root 或 sudo 权限执行命令,或按步骤 9 配置非 root 用户
 
- 现象:普通用户运行 
总结
通过以上详细步骤,您已在 Ubuntu 22.04 LTS (Jammy Jellyfish) 上成功完成了 Docker 的完整安装和配置:
🎉 安装成果
- ✅ Docker Engine:最新稳定版本,支持完整的容器化功能
- ✅ Docker Compose V2:现代化的容器编排工具,性能更优
- ✅ 镜像加速:配置国内镜像源,显著提升镜像下载速度
- ✅ 用户权限:可选的非 root 用户配置,提升使用便利性
- ✅ 服务自启:Docker 服务开机自动启动,确保环境可用
现在您已拥有一个完整、高效的 Docker 开发环境,可以开始您的容器化之旅了!
