docker 代理设置

官网地址:
https://docs.docker.com/config/daemon/systemd/#start-the-docker-daemon

对于docker 配置/etc/profile 中代理地址是不行的。

Docker守护程序在其启动环境中使用HTTP_PROXY,HTTPS_PROXY和NO_PROXY环境变量来配置HTTP或HTTPS代理行为。 您不能使用daemon.json文件配置这些环境变量。

如果您位于HTTP或HTTPS代理服务器的后面(例如在公司设置中),则需要将此配置添加到Docker systemd服务文件中。

1. 为docker 服务创建systemd drop-in目录

mkdir -p /etc/systemd/system/docker.service.d

2. 创建文件 /etc/systemd/system/docker.service.d/http-proxy.conf , 添加HTTP_PROXY环境变量:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"

若使用的是HTTPS代理, 则创建 /etc/systemd/system/docker.service.d/https-proxy.conf ,并添加 HTTPS_PROXY环境变量:

[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/"

3 若配置有内部docker仓库,在访问时无需通过代理, 则使用 NO_PROXY环境变量:

[Service]    
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

[Service]    
Environment="HTTPS_PROXY=https://proxy.example.com:443/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

4. 使生效并重启服务

systemctl daemon-reload

systemctl restart docker

5. 验证

systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/

你可能感兴趣的:(docker 代理设置)