Docker使用网络代理

Docker使用网络代理


docker

使用Docker配置网络代理,需要修改Docker的环境变量,以便Docker客户端和守护进程都能通过代理进行网络访问。以下是具体步骤:

为 Docker客户端配置代理:

编辑你的shell配置文件(例如 .bashrc 或 .zshrc),添加以下环境变量:

export HTTP_PROXY=http://your-proxy-server:port
export HTTPS_PROXY=http://your-proxy-server:port
export NO_PROXY=localhost,127.0.0.1

重新加载配置文件以使更改生效:

source ~/.bashrc

为 Docker 守护进程配置代理:

rootless模式

mkdir -p ~/.config/systemd/user/docker.service.d
vim ~/.config/systemd/user/docker.service.d/http-proxy.conf

非rootless模式

sudo mkdir -p /etc/systemd/system/docker.service.d/
sudo vim /etc/systemd/system/docker.service.d/proxy.conf

添加以下内容

[Service]
Environment="HTTP_PROXY=http://your-proxy-server:port"
Environment="HTTPS_PROXY=http://your-proxy-server:port"
Environment="NO_PROXY=localhost,127.0.0.1"

重新加载 systemd 配置并重启 Docker 服务:

rootless模式

systemctl --user daemon-reload
systemctl --user restart docker

非rootless模式

sudo systemctl daemon-reload
sudo systemctl restart docker

通过上述步骤,在rootless模式下和非rootless模式下配置Docker使用网络代理。 这些配置使得Docker在执行docker pull等网络操作时,会通过你设置的代理服务器进行连接。