1. 重装 docker 套件
1.1 卸载清理原先的 docker 套件
bash
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
bash
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
bash
sudo rm /etc/apt/sources.list.d/docker.sources
sudo rm /etc/apt/keyrings/docker.asc
1.2. apt 安装 docker 套件
1.2.1. 配置 apt 源
存储为 hello_apt.sh
bash
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
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
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
执行:
sudo bash ./hello_apt.sh
1.2.2. 安装 docker 套件
bash
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2. 配置国内镜像加速器(最推荐)
这是在中国大陆环境下最稳定、最常用的解决方案。通过配置国内镜像源,Docker 会从国内的服务器拉取镜像,从而绕开网络问题-1-8。
2.1. 编辑(或创建)Docker 配置文件
在终端中执行以下命令,这会使用 tee 命令创建或覆盖 /etc/docker/daemon.json 文件,并写入推荐的国内镜像源地址-6。
bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
EOF
2.1. 重启 Docker 服务
配置修改后,需要重启 Docker 才能使设置生效-1-8。bash
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
然后再执行 sudo docker pull ubuntu:22.04