Linux配置代理

By | 2024 年 12 月 23 日

命令行配置代理

配置环境变量

在命令行工具中使用代理,需要在环境变量中明确指定。

配置步骤:

编辑环境变量文件

打开当前用户的 ~/.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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注