VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动

很多下载docker镜像的解决方案在国内无法访问(Docker容器无法通过外网访问)。

主机参考: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外,所有内容均可亲测!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:很多下载docker镜像的解决方案在国内无法访问(Docker容器无法通过外网访问)。 https://zhujicankao.com/119243.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 很多下载docker镜像的解决方案在国内无法访问(Docker容器无法通过外网访问)。
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!