主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
2023年5月,hub.docker.com因故无法正常访华。当时只有官网无法访问,但不影响拉形象。
2024年6月,国内几家Docker Hub镜像服务平台均宣布“下架”,停止服务。不知道以后会不会开?还是开启白名单模式?
目前国内收录华为云,阿里云的私有镜像加速无法使用!
原因这里不讨论!下面介绍几种方便的方法,帮助有需要的童鞋正常拉Docker图像!
如果你有更多的童鞋方式,请留言分享给大家~
更多关于:Docker/Docker公共命令/Docker Hub
零门槛海外镜像的优势:不需要大量修改,只需要几个命令。
缺点:网络可能很慢或者不稳定。
《他是我的兄弟》中有一个国家:俄罗斯,因为美国的制裁而无法顺利访问Docker Hub。这里可以用俄罗斯国家的镜像!
下面这个命令可以直接执行~
sudo mkdir-p/etc/docker sudo tee/etc/docker/daemon . JSON & lt;& lt-EOF ' { " registry-mirrors ":[" https://docker . m . Dao cloud . io "," https://huecker.io "," https://docker hub . time web . cloud "," https://noohub . ru "]} EOF sudo system CTL daemon-reloadsudo system CTL restart docker
参考文章:解决Docker Hub国内不可及性的方法综述
镜像导出和导入的优点:可以很方便地用在项目部署中。
缺点:有时候镜像文件比较大,复制迁移有点麻烦。
只需在已经拉镜像的服务器上导出镜像,然后在需要拉镜像的服务器上导入即可!
将图像导出到xxx.tar。
docker save-o & lt;生成的tar文件的路径& gt& lt图像名称& gt例如:nginx.tar Nginx复制xxx.tar到其他服务器。
码头装载-I & lt;图像tar文件的路径& gt例如:nginx.tar码头装卸区
Yandex集装箱加速优势:适合单拉镜像,俄罗斯厂商提供服务。
缺点:不支持对daemon.json的配置。
官方镜像:https://mirror.yandex.ru/
用法:码头工人拉cr.yandex/mirror/nginx
低阈值
Docker使用HTTP代理的优点:可以直接从Docker官方拉取。
缺点:使用HTTP代理后一定要关闭。
首先,代理软件可以访问Docker Hub官网!这个软件就不多说了。我用V2**N进行测试。将软件设置为支持局域网访问。
部分内容需要和历史文章一起看!
本地内部网中的服务器通过使用跳板来访问互联网。
GitHub国内加速:Linux虚拟机使用局域网代理优化访问
上面两篇文章提到了在Shell窗口中为服务器添加HTTP代理环境变量,但是Shell窗口代理环境变量对于Docker Pull images根本不会生效!
本文主要介绍如何让服务器的Docker Pull go代理!
1.创建新目录
mkdir-p/etc/systemd/system/docker . service . D2,新建一个文件,粘贴并保存内容!
下面粘贴的内容vim/etc/systemd/system/docker . service . d/http-proxy . conf,IP一定要改成你的代理软件运行的电脑的内网IP,可以通过ipconfig查看。
端口必须是代理软件设置的局域网端口!
[service]environment = " http _ proxy = http://192 . 168 . 8 . 125:10819 " environment = " https _ proxy = http://192 . 168 . 8 . 125:10819 " environment = " no _ proxy = your。
systemctldaemon-reload systemctlrestardocker 4,检查环境变量是否有效。
system CTL show-property =环境docker
高门槛Cloudflare反向代理的优势:你只需要有一个CF账号,这个账号是你专属的,不需要你自己出具证书。
缺点:CF在国内有DNS污染,可能无法正常访问。
简单步骤:
1.登录CF https://dash.cloudflare.com/.
2.控制台面板->;左侧的工作人员和页面->创建应用程序-& gt;创建工人-& gt;单击保存-& gt;单击完成-& gt;编辑码
Worker.js内容
从'导入HTML。/docker . html ';导出默认{ async fetch(request){ const URL = new URL(request . URL);const path = url.pathnameconst original host = request . headers . get(" host ");const registry host = " registry-1 . docker . io ";if(path . starts with("/v2/"){ const Headers = new Headers(request . Headers);headers.set("host ",registry host);const registry URL = ` https://$ { registry host } $ { path } `;const registry Request = new Request(registry URL,{ method: request.method,headers: headers,body: request.body,redirect: "follow ",});const registry response = await fetch(registry request);console . log(registry response . status);const responseHeaders =新头(registry response . Headers);response headers . set(" access-control-allow-origin ",original host);response headers . set(" access-control-allow-headers ","授权");返回新的响应(registryResponse.body,{ status:registry Response . status,status text:registry Response . status text,headers: responseHeaders,});} else { return new Response(html . replace(/{ { host } }/g,originalHost),{ status: 200,headers:{ " content-type ":" text/html " });} }}
新文件docker.html粘贴以下内容。
& lt!DOCTYPE html & gt& lthtml lang = " zh-CN " & gt;& lthead & gt& ltmeta charset="utf-8 " >& ltmeta name = " viewport " content = " width = device-width,initial-scale=1 " >& lttitle & gt图像使用说明
3.单击部署
4.绑定自定义域名
设置-& gt;触发器->;自定义域->;单击[添加自定义域]。
没有域名?访问博客历史文章:免费域名
展示地址:dockerhub.o0o.us.kg
Nginx反向代理的优势:需要海外服务器。
缺点:网络可能很慢或者不稳定。
这种方法需要有一个海外服务器来颁发域名证书。只需按以下配置!
这里的博主没有测试过,以下内容仅供参考。
服务器{ listen 443 sslServer_name域名;Ssl_certificate证书地址;Ssl_certificate_key密钥地址;上的代理服务器名称;#启用sni SSL _ session _ time out 24小时;SSL _ ciphers ' ECD he-ECD sa-AES 256-GCM-sha 384:ECD he-RSA-AES 256-GCM-sha 384:ECD he-ECD sa-cha cha 20-poly 1305:ECD he-RSA-cha cha 20-poly 1305:ECD he-ECD sa-AES 128-GCM-sha 256:ECD he-RSA-AES 128-GCM-sha 256 ';SSL _ protocols TLS v1 TLS v1.1 TLS v1.2 TLS v1.3;location/{ proxy _ pass https://registry-1 . docker . io;# Docker Hub官方镜像仓库proxy _ set _ header host registry-1 . Docker . io;proxy _ set _ header X-Real-IP $ remote _ addr;proxy _ set _ header X-Forwarded-For $ proxy _ add _ X _ Forwarded _ For;proxy _ set _ header X-Forwarded-Proto $ scheme;#关闭缓存proxy _ buffering off#转发认证相关头proxy _ set _ header authorization $ http _ authorization;proxy_pass_header授权#检查上游状态码实现error_page错误重定向proxy _ intercept _ errors on默认情况下,# error_page指令只检查后端第一次返回的状态码,打开后可以跟随多次重定向。recursive _ error _ pages on#根据状态码执行相应的操作。以下状态码301、302、307会触发# error _ page 301 302 307 = @ handle _ redirect;error _ page 429 = @ handle _ too _ many _ requests;} #处理重定向位置@ handle _ redirect {解析器1.1.1.1;set $ saved _ redirect _ location ' $ upstream _ http _ location ';proxy _ pass $ saved _ redirect _ location;} #处理429错误位置@ handle _ too _ many _ requests { proxy _ set _ header host替换为CloudFlare Worker中设置的域名;#替换为另一个服务器的地址proxy_pass http://替换为CloudFlare Worker中设置的域名;proxy _ set _ header Host $ http _ Host;} }
https://github.com/NoCLin/LightMirrors的其他开源项目
https://github.com/bboysoulcn/registry-mirror
最后总结1。如果是临时使用,建议零门槛参加几个方案,方便快捷。
2.据说以后的pip源码也可能受影响,可以用HTTP代理。
3.中国的阿里云和腾讯云都提供私有镜像服务。你可以试试。
本文部分引用自lty520.faith,除Nginx外,所有内容均可亲测!
这几篇文章你可能也喜欢:
- typescript如何实现持续交付(typescript执行)
- 如何使用Docker部署幻兽Paruru
- 如何在Windows上运行docker(docker运行Windows容器)
- 如何使用 Docker 安装 Apache Kafka
- GitHub Codespaces如何帮助减少开发设置时间?
本文由主机参考刊发,转载请注明:很多下载docker镜像的解决方案在国内无法访问(Docker容器无法通过外网访问)。 https://zhujicankao.com/119243.html
评论前必须登录!
注册