
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等网络操作时,会通过你设置的代理服务器进行连接。