在 Ubuntu 22 上安装 Docker 并配置国内镜像源可以显著提升软件下载和镜像拉取的速度。以下是详细的安装与配置指南。
🛠️ 安装前的准备工作
-
更新系统软件包
在安装任何新软件前,最好先更新本地的软件包列表并升级现有软件包。
bashsudo apt update && sudo apt upgrade -y
-
卸载旧版本 Docker(如有)
为避免冲突,如果系统上有旧的 Docker 版本(常被称为
docker.io
、docker-engine
),建议先卸载它们。bashsudo apt-get remove docker docker-engine docker.io containerd runc
-
安装必要依赖包
这些工具是后续添加 Docker 官方 GPG 密钥和软件源所必需的。
bashsudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common
📦 安装 Docker Engine
以下是使用 Docker 官方源进行安装的推荐步骤。
-
添加 Docker 的官方 GPG 密钥
此密钥用于验证所下载软件包的完整性。
bashsudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
-
添加 Docker 软件源
将 Docker 的稳定版仓库添加到系统的软件源列表中。
bashecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
安装 Docker 引擎
更新软件源并安装 Docker 及其相关组件。
bashsudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
启动 Docker 服务并设置开机自启
bashsudo systemctl start docker sudo systemctl enable docker
-
验证安装
运行一个测试容器,如果一切顺利,你将看到 "Hello from Docker!" 的欢迎信息。
bashsudo docker run hello-world
🔄 配置国内镜像加速器
为了提升拉取 Docker 镜像的速度,强烈建议配置国内镜像源。
-
创建并编辑 Docker 配置文件
Docker 的守护进程配置存储在
/etc/docker/daemon.json
文件中。bashsudo mkdir -p /etc/docker sudo nano /etc/docker/daemon.json
-
写入镜像源配置
在打开的文件中,填入以下内容。你可以选择一个或多个镜像源。如果配置多个,Docker 会按顺序尝试,当某个源不可用时自动切换。
json{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baiduce.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.xuanyuan.me" ] }
- 常用国内镜像源地址 :
- 网易 :
https://hub-mirror.c.163.com
- 百度云 :
https://mirror.baiduce.com
- 中科大 :
https://docker.mirrors.ustc.edu.cn
- 其他可选源 :
https://docker.xuanyuan.me
,https://docker.1ms.run
- 网易 :
- 常用国内镜像源地址 :
-
重启 Docker 服务使配置生效
bashsudo systemctl daemon-reload sudo systemctl restart docker
-
验证配置是否成功
运行以下命令,如果输出中包含了您刚刚配置的镜像地址,说明配置成功。
bashdocker info | grep -A 10 "Registry Mirrors"
⚙️ 权限管理与后续优化
-
允许非 root 用户运行 Docker(可选但推荐)
默认情况下,执行 Docker 命令需要
sudo
权限。可以将您的用户加入docker
组来免去每次输入sudo
的麻烦。bashsudo usermod -aG docker $USER
重要 :执行此命令后,你需要完全注销并重新登录系统 ,或者重启电脑,才能使组权限更改生效。之后,你就可以直接使用
docker ps
这样的命令,而不需要sudo
了。 -
验证最终环境
权限生效后,再次运行 hello-world 容器,确认一切正常。
bashdocker run hello-world
💡 常见问题处理
- 安装依赖报错 :如果出现
E: Unable to locate package docker-ce
这类错误,请检查之前添加软件源的步骤是否正确,特别是系统代号$(lsb_release -cs)
是否获取正确(对于 Ubuntu 22.04,应为jammy
)。 - 镜像拉取失败或仍很慢 :可能是某个镜像源暂时不稳定或已失效。可以尝试注释掉(在行首加
#
)或删除daemon.json
中疑似有问题的镜像源,然后重启 Docker 服务。也可以尝试搜索并替换为当前最新的可用镜像源。 - 服务启动失败 :可以查看 Docker 服务的详细日志来排查问题:
sudo journalctl -u docker.service
。
希望这份详细的指南能帮助你在 Ubuntu 22 上顺利完成 Docker 的安装和配置!如果在此过程中遇到其他问题,欢迎随时提出。