小李同学 keep digging deeper
Docker

Docker 代理设置

— 字

转自:https://docs.docker.com/config/daemon/systemd/

让 Docker 守护进程走代理,改的是 systemd 的环境变量,不是 daemon.json。

如果是手动装的 docker

系统里没有 docker 自带的 unit 文件时,把 https://github.com/moby/moby/tree/master/contrib/init/systemd 里的两个文件拷到 /etc/systemd/system:

用官方脚本或发行版包装的,这一步可以跳过。

建一个 drop-in 配置

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

写入:

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

NO_PROXY 别漏,尤其是 localhost 和内网 registry,不排除的话拉镜像会绕一圈代理再回来。

重载并重启

systemctl daemon-reload
systemctl restart docker

验证

systemctl show --property=Environment docker

能打出这三行就生效了:

Environment=HTTP_PROXY=http://proxy.example.com:80 HTTPS_PROXY=https://proxy.example.com:443 NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp

本文作者 小李同学,转载请注明出处。

评论

还没有人留言。

写一条

提交后会先进站主的待审列表,通过之后才公开。

搜索文章

输入关键词搜索文章。