使用代理拉取 Docker Hub 镜像
前言
- 2023 年 5 月,Docker Hub 在中国大陆无法访问;
- 2024 年 6 月,国内的 Docker Hub 镜像皆因「不可抗力」、「接上级要求」关闭。
目前在国内没办法直接访问 Docker Hub,也没有可靠镜像站点。为了保证生产效率和稳定,能直接用代理解决访问问题是效率最高的方法。
直接代理全部流量是一种选择,但是这对分流规则的细度要求太高,服务器上的很多其他大流量应用如果没能被正确分流,代理流量可能就都被浪费了,所以我们要单独对 Docker 拉取镜像的操作进行代理设置。
具体操作
切换到 root
用户:
1 | sudo -i |
创建相关目录/文件:
1 | mkdir -p /etc/systemd/system/docker.service.d |
在 http-proxy.conf
中输入以下内容,注意修改代理地址:
1 | [Service] |
重启相关服务:
1 | systemctl daemon-reload && systemctl restart docker |
验证:
1 | sudo systemctl show --property=Environment docker |
附:群晖(DSM 7.0+)操作方法
群晖进行了一些魔改,主要是名字上的区别(Docker 变成了 Container Manager)
切换到 root
用户:
1 | sudo -i |
创建相关目录/文件:
1 | mkdir -p /etc/systemd/system/pkg-ContainerManager-dockerd.service.d |
在 http-proxy.conf
中输入以下内容,注意修改代理地址:
1 | [Service] |
重启相关服务:
1 | systemctl daemon-reload && systemctl restart pkg-ContainerManager-dockerd.service |
验证:
1 | systemctl show --property=Environment pkg-ContainerManager-dockerd.service |