情况概要

  • 服务器已安装Clash-CORE

  • 已安装docker

  • 使用docker拉取镜像时提示:

    • Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

解决方法

因为是处在代理环境中,所以需要配置Docker使用代理。

  1. 创建 systemd drop-in 目录:

    sudo mkdir -p /etc/systemd/system/docker.service.d
    
  2. 创建代理配置文件:

    sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<-'EOF'
    [Service]
    Environment="HTTP_PROXY=http://代理服务器地址:端口/"
    Environment="HTTPS_PROXY=http://代理服务器地址:端口/"
    Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
    EOF
    
  3. 重新加载 systemd 配置并重启 Docker:

    sudo systemctl daemon-reload
    sudo systemctl restart docker