问题出现
在内地网络环境下安装 Docker 的时候,有时会因为网络问题导致安装失败。
解决方法也很多,间歇性的网络错误只要多次尝试即可,当然也可以使用下方的方法使用国内镜像源安装来解决问题。
解决方法
自动安装
直接使用由 LinuxMirrors 提供的安装脚本,支持 Debian、Centos 等系统,具体支持的系统可以参考官方文档
该脚本本身的下载地址为海外,如果您的服务器或网络环境禁海外,可以考虑将脚本下载到本地后上传到服务器,当然也可以参考下方手动安装方式。
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
复制后直接粘贴运行,如果出现 -bash: curl: command not found
请先运行 sudo apt install curl
第一步,我们需要安装最新版本的,直接回车即可;
第二步,输入想要使用安装源的序号,我这里使用南京大学的镜像源;
第三步,输入想要使用 Docker Registry 源的序号,我这里使用 AtomHub 可信镜像中心;
第四步,等待安装完成,出现下方信息即脚本执行结束;
手动安装
手动安装使用 CERNET - 校园网联合镜像站(mirrorz-302 智能选择) 作为主要镜像源
Debian/Ubuntu
安装依赖
sudo apt update
sudo apt install ca-certificates curl gnupg
信任 Docker 的 GPG 公钥并添加仓库(仅需运行相应发行版的代码即可)
Debian:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.cernet.edu.cn/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.cernet.edu.cn/docker-ce/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Ubuntu:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.cernet.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.cernet.edu.cn/docker-ce/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新软件包的本地索引列表并开始安装
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
检查是否安装完成
docker -v
CentOS
安装依赖
sudo yum install -y yum-utils
下载 repo 文件,并把软件仓库地址替换为教育网联合镜像站
yum-config-manager --add-repo https://mirrors.cernet.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+https://download.docker.com+https://mirrors.cernet.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
开始安装
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
检查是否安装完成
docker -v