Ubuntu 22.04 上安装 Docker并使用国内源(20250108测试有效)
Ubuntu 22.04 上安装 Docker 需要几个步骤。以下是一个详细的指南,包括所有必要的命令和解释:
1. 更新软件包索引:
这是安装任何新软件包前的最佳实践,确保你拥有最新的软件包信息。
sudo apt update
2. 安装必要的软件包以允许 apt 通过 HTTPS 使用仓库:
这些软件包允许你的系统安全地连接到 Docker 的仓库并下载软件包。
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
apt-transport-https: 允许 apt 使用 HTTPS 协议。
ca-certificates: 包含信任的证书颁发机构 (CA) 的证书。
curl: 一个用于传输数据的命令行工具。
gnupg: GNU Privacy Guard,用于安全地导入 Docker 的 GPG 密钥。
lsb-release: 提供关于 Linux 发行版的信息。
3. 添加 Docker 的官方 GPG 密钥:
GPG 密钥用于验证下载的 Docker 软件包的完整性和真实性。
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo mkdir -p /etc/apt/keyrings: 如果 /etc/apt/keyrings 目录不存在,则创建它。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg: 从 Docker 官方网站下载 GPG 密钥。
-f: 如果服务器报告错误则退出。
-s: 静默模式 (不显示进度条和错误消息)。
-S: 显示错误消息。
-L: 如果服务器返回重定向,则跟随重定向。
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg: 将下载的 ASCII 格式的 GPG 密钥转换为二进制格式并保存到 /etc/apt/keyrings/docker.gpg。
4. 设置 Docker 仓库:
你需要将 Docker 的仓库添加到你的 apt 源列表中,这样 apt 才能找到 Docker 软件包。
echo \
"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
echo "...": 生成包含 Docker 仓库信息的字符串。
deb: 指示这是一个 Debian 软件包仓库。
[arch=(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg]: 指定架构 (例如 amd64) 和用于验证软件包的 GPG 密钥的位置。
https://download.docker.com/linux/ubuntu: Docker 的 Ubuntu 仓库地址。(lsb_release -cs): 获取你的 Ubuntu 版本代号 (例如 jammy)。
stable: 指定要使用的 Docker 版本通道 (稳定版)。
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null: 将生成的字符串写入到 /etc/apt/sources.list.d/docker.list 文件中。
tee 命令会将输入同时输出到屏幕和文件。
> /dev/null 用于丢弃屏幕输出。
5. 再次更新软件包索引:
现在你的 apt 源列表中包含了 Docker 的仓库,需要更新软件包索引来获取新的软件包信息。
sudo apt update
6. 安装 Docker Engine:
现在你可以安装 Docker Engine、Containerd 和 Docker Compose 插件。
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker-ce: Docker Community Edition,即 Docker Engine。
docker-ce-cli: 用于与 Docker Engine 交互的命令行工具。
containerd.io: 一个行业标准的容器运行时。
docker-compose-plugin: 用于定义和运行多容器 Docker 应用程序的工具 (作为 Docker CLI 的插件存在)。
6.5 修改为国内可用源(20250107测试可用)
# cat /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"http://mirrors.ustc.edu.cn",
"http://mirror.azure.cn"
]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
7. 验证 Docker 是否安装成功:
安装完成后,可以运行以下命令来检查 Docker 是否已正确安装并正在运行。
sudo systemctl status docker
你应该看到类似以下的输出,表明 Docker 服务正在运行 (active (running)):
● docker.service – Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-10-24 10:00:00 UTC; 1min 30s ago
Docs: https://docs.docker.com
Main PID: 1234 (dockerd)
Tasks: 50
Memory: 100.0M
CPU: 1.500s
CGroup: /system.slice/docker.service
└─1234 /usr/bin/dockerd -H fd://
Use code with caution.
你也可以运行一个简单的 Docker 镜像来验证安装:
sudo docker run hello-world
如果一切正常,你应该看到一条欢迎消息,表明 Docker 已经正确安装并正在运行。
8. (可选)将你的用户添加到 docker 组,以便无需 sudo 运行 Docker 命令:
默认情况下,你需要使用 sudo 来运行 Docker 命令。为了避免这种情况,你可以将你的用户添加到 docker 组。
sudo usermod -aG docker $USER
newgrp docker
sudo usermod -aG docker USER: 将当前用户 (USER) 添加到 docker 组。
newgrp docker: 使组更改立即生效,无需注销并重新登录。
重要提示: 将用户添加到 docker 组会赋予该用户 root 权限,因为他们可以控制 Docker 守护进程。请谨慎操作。
9. Docker Compose (如果需要):
你已经安装了 Docker Compose 插件,它可以通过 docker compose 命令来使用。 你可以创建一个 docker-compose.yml 文件来定义你的多容器应用程序。
例如,创建一个简单的 docker-compose.yml 文件:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
Use code with caution.Yaml
然后,在该文件所在的目录中运行:
docker compose up -d
这将启动一个运行 Nginx 的容器。
常用 Docker 命令:
docker ps: 列出正在运行的容器。
docker images: 列出本地可用的镜像。
docker pull <image_name>: 从 Docker Hub 下载镜像。
docker stop <container_id>: 停止一个正在运行的容器。
docker rm <container_id>: 删除一个已停止的容器。
总结:
以上就是在 Ubuntu 22.04 上安装 Docker 的详细步骤。按照这些步骤操作,你应该能够成功安装并运行 Docker。记得阅读 Docker 的官方文档以了解更多关于 Docker 的功能和用法。