为Docker设置代理

最近在玩k8s,G家的东西虽然好用,但是在国内需要梯子才能访问相关服务。通过kubeadm安装k8s cluster,需要下载诸如kube-apiserver-amd64等镜像文件,这些镜像文件所在网站被GFW所墙了。因此需要在Docker中为相关域名设置代理。以CentOS为例,下面是代理设置方式

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

然后创建代理配置文件

vim /etc/systemd/system/docker.service.d/http-proxy.conf

然后根据自己的代理信息进行配置即可,比如

[Service]
Environment="HTTP_PROXY=http://22.15.4.36:8123/" "HTTPS_PROXY=http://22.15.4.36:8123/" "NO_PROXY=localhost,127.0.0.1,docker.io,yanzhe919.mirror.aliyuncs.com,99nkhzdo.mirror.aliyuncs.com,.aliyuncs.com,.mirror.aliyuncs.com,registry.docker-cn.com,hub.c.163.com,hub-auth.c.163.com,"

这里除了http代理,也支持socks5代理。NO_PROXY表示该值的所有域名不走代理。

然后重新加载配置,并重启Docker服务

sudo systemctl daemon-reload

sudo systemctl restart docker

最后通过

systemctl show --property=Environment docker

即可查看设置结果