官网地址:
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/
网友评论