简介
2023 年 5 月, hub.docker.com "不知" 何种原因国内均无法正常访问了。当时只是官网不能访问,但不影响 pull 镜像。
2024年6月7日,GFW正式DNS污染+SNI阻断了docker.com及其相关域名。从国内解析得到的IP地址为Twitter/Facebook的IP,符合大墙DNS污染的特征。而如果使用海外解析得到的正常IP地址从国内访问则会被SNI重置阻断链接。
2024 年 6 月,国内几家 Docker Hub 镜像服务平台均发公告说 "被" 要求下架,停止服务。不知以后是否开放?或开启白名单模式?
与此同时,上交镜像站等一系列中国大陆公益镜像站点也“接上级主管部门通知,暂时关闭 Docker Hub 镜像缓存服务”。(通知链接 1 2)
更新:南京大学、中科大、上海交大 目前明确停止docker镜像
网易之前死了
腾讯微软据说内网可用
阿里登陆后就可以拿到子域名
百度好像也挂了
dockerproxy被墙
这里不讨论其原因!这里分享几个便捷方法,帮助有需求的朋友正常的拉取 Docker 镜像!
零门槛
境外镜像
优点:不需大量修改,只需几个命令
缺点:网络可能慢或者不稳定
下面命令可直接执行~
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://noohub.ru"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
命令行执行 docker info,如果从结果中看到了如下内容,说明配置成功。
Registry Mirrors:
[...]
https://docker.m.daocloud.io
Docker Hub 镜像加速器列表
以下镜像站来源于互联网(感谢热心网友),可能出现宕机、转内网、关停等情况,建议同时配置多个镜像源。
2024年6月27日 亲测可用
镜像加速器地址 其他说明
https://dockerpull.com CF的workers来搭建
https://dockerproxy.cn CF的workers来搭建
https://docker.1panel.live 1Panel 面板提供(推荐)
https://hub.rat.dev 耗子面板提供
https://docker.chenby.cn Docker Hub
https://docker.anyhub.us.kg DockerHub 镜像加速代理
https://dockerhub.icu Docker镜像加速站
https://docker.ckyl.me Docker镜像加速站
https://dockerhub.jobcher.com Docker Hub
https://docker.hpcloud.cloud 镜像使用说明
https://docker.awsl9527.cn 镜像使用说明
https://www.hallodocker.com/ 镜像使用说明
Yandex 容器加速
优点:适合单独 pull 镜像使用,俄罗斯大厂提供服务
缺点:不支持配置到 daemon.json
官方镜像:https://mirror.yandex.ru/
使用方式:
docker pull cr.yandex/mirror/nginx
低门槛
Docker 使用 HTTP 代理
优点:可从 Docker 官方直接拉取
这里主要介绍如何让服务器的 Docker Pull 的时候能走代理!
1,新建目录
mkdir -p /etc/systemd/system/docker.service.d
2,新建文件,粘贴并内容,并保存!
vim /etc/systemd/system/docker.service.d/http-proxy.conf
以下粘贴内容,IP 一定要换成你代理软件运行的电脑的内网 IP,通过 ipconfig 可以查看
端口一定要是代理软件设置的局域网端口!
[Service]
Environment="HTTP_PROXY=http://USERNAME:PASSWORD@[your.proxy.server]:[port]"
Environment="HTTPS_PROXY=http://USERNAME:PASSWORD@[your.proxy.server]:[port]0"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
3,重启 Docker
systemctl daemon-reload
systemctl restart docker
4,检查环境变量是否生效
systemctl show --property=Environment docker