在 Ubuntu 20.04 上安装 Docker Engine 的详细步骤如下:
1. 卸载旧版本
首先,卸载可能与 Docker Engine 冲突的非官方包:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
2. 设置 Docker 的 apt 仓库
- 更新包列表:
sudo apt-get update
- 安装依赖包:
sudo apt-get install ca-certificates curl
- 添加 Docker 官方 GPG 密钥:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
- 添加 Docker 仓库到 apt 源:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 更新包列表:
sudo apt-get update
3. 安装 Docker 包
安装最新版本的 Docker Engine:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
如果安装过程中有部分下载失败,可以手动在hosts文件中添加download.docker.com的IP地址,并配置resolv.conf文件,具体配置方法可参考这篇博客第5点的内容:
Ubuntu20.04安装ROS Noetic (一篇博客走遍天)-CSDN博客
4.配置镜像加速器
参考这篇博客:Docker镜像拉取失败解决方案_docker拉取镜像失败-CSDN博客
- 打开daemon.json文件
sudo nano /etc/docker/daemon.json
更改为以下内容并保存(ctrl+o保存,ctrl+x退出):
{
"registry-mirrors": [
"https://hub.rat.dev",
"https://docker.1panel.live",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://iju9kaj2.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://cr.console.aliyun.com",
"https://hub.docker.com",
"http://mirrors.ustc.edu.cn"
]
}
- 重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
5. (可选)可以避免每次都添加sudo
- 创建 docker用户组(如果尚未创建):
sudo groupadd docker
- 将当前用户添加到 `docker` 组:
sudo usermod -aG docker $USER
- 重新加载用户组:
newgrp docker
6. 验证安装
运行 `hello-world` 镜像:
sudo docker pull hello-world
sudo docker run hello-world
也可以直接sudo docker run hello-world,此命令会自动下载测试镜像并在容器中运行它。
出现以下内容即成功