命令行配置代理
配置环境变量
在命令行工具中使用代理,需要在环境变量中明确指定。
配置步骤:
编辑环境变量文件
打开当前用户的 ~/.bashrc 文件:
nano ~/.bashrc
添加代理环境变量
根据代理类型(HTTP/HTTPS/FTP),添加以下内容:
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
export ftp_proxy=http://proxy.example.com:8080
export no_proxy=localhost,127.0.0.1,::1
如果代理需要认证,则添加用户名和密码:
export http_proxy=http://username:password@proxy.example.com:8080 export https_proxy=http://username:password@proxy.example.com:8080
刷新环境变量
保存文件后,运行以下命令使配置生效:
source ~/.bashrc
验证配置
查看环境变量是否已生效:
echo $http_proxy
Docker 客户端配置代理
前提
Error response from daemon: Get “https://registry-1.docker.io/v2/”: context deadline exceeded (Client.Timeout exceeded while awaiting headers)

因为没有代理,所以docker客户端无法访问dockerhub的默认仓库 https://registry-1.docker.io/v2/ 地址
配置代理
如果您的网络需要通过代理访问外网,您需要在 Docker 中配置代理。
配置步骤:
创建 Docker 配置目录(如果不存在):
mkdir -p /etc/systemd/system/docker.service.d
创建或编辑 http-proxy.conf 文件:
nano /etc/systemd/system/docker.service.d/http-proxy.conf
添加以下内容:
# 根据实际代理信息替换 http://proxy.example.com:8080
Environment="HTTP_PROXY=http://proxy.example.com:8080" Environment="HTTPS_PROXY=http://proxy.example.com:8080" Environment="NO_PROXY=localhost,127.0.0.1"
重载并重启 Docker 服务:
systemctl daemon-reload
systemctl restart docker
验证代理配置是否生效:
docker info | grep -i proxy