docker pull timeout问题

背景

最近在用docker搭个开发环境, 参照的是之前记录的那个笔记:Docker相关

发现在拉取镜像的时候有点问题,即使用如下命令

docker pull ubuntu:18.04

报错:

“net/http: TLS handshake timeout”

这个主要是因为docker默认镜像拉取地址为国外仓库,会存在网络上的各种问题,你懂的

解决

只需要将拉取地址换为国内容器镜像仓库即可,这里使用阿里云的

阿里云需要自己创建自己独有的容器镜像加速器地址,具体步骤如下:

  1. 获取加速器地址
    使用自己的账号登陆阿里云的容器镜像服务控制台:https://cr.console.aliyun.com/
    依次选择:容器镜像服务 -> 镜像工具 -> 镜像加速器
    然后就可以看到加速器地址,比如我的就是:https://rkobk8tk.mirror.aliyuncs.com

  2. 配置使用加速器
    修改daemon配置文件(/etc/docker/daemon.json)来使用加速器:

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://rkobk8tk.mirror.aliyuncs.com"]
    }
    EOF
       
    #
    sudo systemctl daemon-reload
    #重启docker
    sudo systemctl restart docker