Docker 无法安装,网络连接错误解决办法

为什么会安装失败

默认情况下会直接从 Docker 的官方网站下载文件安装,但是在内地网络环境下与其的连通性较差,经常会出现 Timeout、Reset 等情况

如果只是间歇性网络错误可以进行多次尝试,当然也可以使用下方的方法使用国内 Docker CE 源安装来解决问题

用国内镜像源自动安装

直接使用由 LinuxMirrors 提供的安装脚本,支持 Debian、Centos 等系统

下载并执行一键脚本

脚本本身的下载地址为海外,如果您的服务器或网络环境禁海外,可以考虑将脚本下载到本地后上传到服务器使用

sudo bash -c "$(curl -fsSLk https://linuxmirrors.cn/docker.sh)"

如果出现 -bash: curl: command not found 请先安装 curl

sudo apt-get install curl

选择安装镜像源

我们需要安装最新版本的 Docker Engine,所以这里直接回车即可

是否安装最新版本

选择一个想要使用的 Docker CE 源,使用键盘上 W/S 或者上下键控制选项,这里我选择南京大学的镜像站

安装速度主要取决于这里的选择,比较推荐南京大学镜像站

选择 Docker CE 源

选择 Registry 源

现在我们需要添加 Registry 源,这里我选择了经常使用的 DaoCloud

通常这样即可正常使用,但是建议再增加几个镜像源避免镜像过于小众无法拉取

选择 Registry 源

等待脚本执行完成并验证

在选择完 Registry 源后将开始安装,安装速度主要取决于服务器下行带宽和安装镜像地址的选择,脚本执行完成后将显示当前安装的版本和安装完成等信息

安装完成并显示版本信息

我们可以输入下面命令再次验证安装,安装成功将输出版本号。

docker -v

用国内镜像源手动安装

手动安装演示将使用南京大学开源镜像站作为 Docker CE 源

Debian 或 Ubuntu

安装依赖软件

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

信任 Docker 的公钥并添加仓库(仅需运行相应系统的代码即可

如果不清楚命令如何换行,请完整复制代码块中的代码,然后一次性粘贴到终端运行

Debian 请执行以下命令

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirror.nju.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://mirror.nju.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://mirror.nju.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://mirror.nju.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-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

检查是否安装完成

docker -v

CentOS 或 RHEL

安装依赖

sudo yum install -y yum-utils

添加 repo 文件并替换软件仓库地址(仅需运行相应系统的代码即可

Centos 请执行以下命令

yum-config-manager --add-repo https://mirror.nju.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+https://download.docker.com+https://mirror.nju.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

RHEL 请执行以下命令

yum-config-manager --add-repo https://mirror.nju.edu.cn/docker-ce/linux/rhel/docker-ce.repo
sudo sed -i 's+https://download.docker.com+https://mirror.nju.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

评论