Docker 守护程序在其启动环境中使用以下环境变量来配置 HTTP 或 HTTPS 代理行为:
在 Docker Engine 23.0 及更高版本中,您还可以在/etc/docker/daemon.json(默认地址)文件中为守护进程配置代理行为:
{
"proxies": {
"http-proxy": "127.0.0.1:7897",
"https-proxy": "127.0.0.1:7897",
"no-proxy": "*.test.example.com,.example.org,127.0.0.0/8"
}
}
警告:
1 、27.0.0.1:7897 为自己的代理地址
2、官方文档中配置为:
“http-proxy”: “http://proxy.example.com:3128”,
“https-proxy”: “https://proxy.example.com:3129”,
这里是有问题的,务必删除http:// 或https://
如果您使用 HTTP 或 HTTPS 代理服务器(例如在公司设置中),则必须在 systemd 服务文件中指定守护进程代理配置,而不是在文件中daemon.json或使用环境变量。
$ sudo mkdir -p /etc/systemd/system/docker.service.d
[Service]
Environment="HTTP_PROXY=proxy.example.com:3128"
如果您使用 HTTPS 代理服务器,请设置HTTPS_PROXY环境变量:
[Service]
Environment="HTTPS_PROXY=proxy.example.com:3129"
可以设置多个环境变量;设置非 HTTPS 和 HTTPs 代理;
[Service]
Environment="HTTP_PROXY=proxy.example.com:3128"
Environment="HTTPS_PROXY=proxy.example.com:3129"
注意
代理值中的特殊字符(例如#?!()[]{})必须使用 进行双重转义%%。例如:
[Service]
Environment=“HTTP_PROXY=domain%%5Cuser:complex%%23pass@proxy.example.com:3128/”
例如:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:3128"
Environment="HTTPS_PROXY=https://proxy.example.com:3129"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ sudo systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:3128 HTTPS_PROXY=https://proxy.ex
【Qinghub Studio 】更适合开发人员的低代码开源开发平台
【QingHub企业级应用统一部署】
【QingHub企业级应用开发管理】
【QingHub演示】
【https://qingplus.cn】