前言
在容器化技术主导云原生时代的今天,Docker 凭借其轻量化、高移植性和秒级部署能力,已成为开发与运维的必备工具。然而,国内用户在 Ubuntu 系统上安装 Docker 时,常因 官方镜像源访问受限、网络延迟高、依赖包安装失败 等问题陷入困境,导致效率大幅降低。
本文针对 Ubuntu 22.04 LTS(Jammy)及 24.04 LTS(Noble) 系统,结合国内网络环境特性,提供一套 开箱即用、高效稳定 的 Docker 部署方案。
一、安装前的环境准备
1. 系统要求
• 操作系统:Ubuntu 22.04 LTS(Jammy)或 24.04 LTS(Noble)
• 权限要求:sudo
权限
• 网络要求:需访问国内镜像源(如阿里云、清华源)
2. 清理旧版本(如适用)
sudo apt-get remove docker docker-engine docker.io containerd runc
二、安装 Docker CE 社区版
1. 更新系统与安装依赖
# 更新软件包索引
sudo apt-get update
# 安装基础依赖
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common
2. 配置国内镜像源与密钥
(阿里云示例)
# 添加 GPG 密钥(阿里云镜像)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 Docker 仓库(适配当前系统版本)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
注意:$(lsb_release -cs)
会自动获取系统代号(如 jammy
或 noble
)
3. 安装 Docker 引擎
# 更新仓库并安装 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. 验证安装
# 启动服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 运行测试容器
sudo docker run hello-world
若输出 Hello from Docker!
表示安装成功
三、国内镜像加速配置
1. 配置镜像加速器
编辑 /etc/docker/daemon.json
,添加国内镜像源地址:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io", # DaoCloud镜像
"https://docker.1ms.run" # 公益镜像(可选)
]
}
EOF
重启服务生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
验证配置:
docker info | grep "Registry Mirrors"
需显示配置的镜像地址
四、权限管理与优化
1. 非 root 用户权限
将当前用户加入 docker
组,避免使用 sudo
:
sudo usermod -aG docker $USER
newgrp docker # 刷新组权限
2. 存储路径优化(可选)
若需自定义 Docker 存储目录(如挂载大容量磁盘):
# 创建存储目录并软链接
sudo mkdir -p /data/docker
sudo ln -s /data/docker /var/lib/docker
五、常见问题与解决方案
1. 安装依赖报错
• 错误示例:E: Unable to locate package docker-ce
• 原因:镜像源未正确适配系统版本或仓库未启用
• 解决:重新检查仓库配置,确保 $(lsb_release -cs)
输出与镜像源支持的版本匹配
2. 镜像拉取失败
• 原因:加速器地址失效或网络不稳定
• 解决:更换镜像源(优先使用腾讯云或阿里云),并检查防火墙规则:
# 临时关闭防火墙(仅测试用)
sudo ufw disable
3. 服务启动失败
• 错误示例:Failed to start docker.service
• 排查步骤:
# 查看详细日志
journalctl -u docker.service --no-pager
# 检查存储驱动兼容性(推荐 overlay2)
docker info | grep "Storage Driver"
六、扩展功能
1. Docker Compose 安装
sudo apt-get install -y docker-compose-plugin
验证:docker compose version
2. Portainer 可视化工具部署
docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
访问 http://<IP>:9000
初始化管理界面
总结
本文基于国内网络环境,从依赖安装到镜像加速配置,完整覆盖了 Docker 在 Ubuntu 系统上的部署流程,并针对常见问题提供解决方案。通过结合阿里云、腾讯云等镜像源,可显著提升安装与镜像拉取效率,满足开发与生产环境需求