大家都知道国内的网络环境,自从 Docker Hub 被墙,安装 Docker 和拉取镜像能否成功都成了玄学。就以安装 Docker 为例,我们一般都跟着 Docker 的官方手册来操作,但很可能遇到这个错误:
curl: (35) Recv failure: Connection reset by peer
这个错误表示连接被远程服务器重置,也就是说 curl
在访问 https://download.docker.com/linux/ubuntu/gpg
时被中断了。
这在国内是常见的问题,最建议也最稳定的方式是使用国内源安装 Docker。这里以 Ubuntu 为例。
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
# 创建 keyrings 目录
sudo install -m 0755 -d /etc/apt/keyrings
# 使用阿里云镜像代替官方源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新并安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
用这个方法一般就能安装成功了,但是安装好之后还要拉取镜像来使用,网络问题依旧摆在眼前。根本上的方法是科学上网,如果没有条件,则可以考虑用国内的镜像加速服务,解决方法参考:Docker 拉取镜像时报 context deadline exceeded 错误的解决方案 。