Docker国内镜像加速器被封?!如何应对?

时至2024年的今天,Docker容器化技术已经与各位IT老表们的生活息息相关,无论您是才高八斗的前端🫡,文采斐然的后端🫡,出类拔萃的测试🫡,才华横溢的运维🫣还是刚入行的新人😈,想必在进行新项目调研或者代码测试/部署的时候都会优先选择使用docker容器快速调试或者运行。“没用过? 这么方便还不赶紧去研究研究🙀”

但是在今年六月左右一个月黑风高的夜晚,国内加速器竟被一夜封禁,到底是人性的扭曲还是道德的…. 咳咳…都不是重点,重点是在如此大环境下我们怎么正常获取docker镜像,让我们回归快乐的生活。

OIP-C.32Bw5_mGfRA8AFG9ijpRCQHaE1.jpeg

闲话少说,我为大家整理了如下三种方法应对此情况

1.顺手牵羊

目前国内很多优秀的同行已经无私的奉献了自己的加速站点,各位如果想临时使用或者要求不高的情况下可以选择该类方式.

1.1 作者本人常用的加速器“满足80%需求”
vi /etc/docker/daemon.json
{
    "registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/"]
}
systemctl  daemon-reload
systemctl  restart docker

建议复制粘贴哈,大家都是搞计算机的眼神不好很正常.避免docker重启异常一顿抓狂

1.2 好心大佬持续维护网站

其他人持续维护的网站

2.大树乘凉

github中维护多个镜像项目可以下载指定镜像,有门槛哈~

  1. 科学上网
  2. github账号

public-image-mirror #完全免费

DockerTarBuilder #每天1小时免费

3.我命由我不由天

部署一个属于自己的加速器,也有门槛哈~

  • 一台海外服务器,各大公有云厂商随便买一台低配置机器1c2G即可,带宽看自己的需求和经费.
  • 一个自己的域名 这里以docker.hasten.com作为例子,域名对应的证书,因为不清楚你的加速站点作用是什么就不写域名申请方式了,可以云付费购买也可以找免费网站申请,为所欲为~

极简风: 购买一台海外服务器手动pull镜像 😂

环境准备:

系统 nginx
ubuntu20/22 无所谓
3.1 nginx部署安装
sudo apt-get update
sudo apt-get -y install
vim /etc/nginx/sites-enabled/default

server {

    #同时监听80和443端口
    listen     80;
    listen     443 ssl;
    server_name  docker.hasten.com;# 需要修改成自己的域名
    charset utf-8;
    if ( $scheme = 'http' ) {
       return 302 https://docker.hasten.com/;# 需要修改成自己的域名
    }

    #设置证书部分
    ssl_certificate ssl/fullchain.pem;
    ssl_certificate_key ssl/privkey.pem;
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
        location / {
                    # Docker hub 的官方镜像仓库
                    proxy_pass https://registry-1.docker.io;  
                    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  Authorization;
                    # 对 upstream 状态码检查,实现 error_page 错误重定向
                    proxy_intercept_errors on;
                    recursive_error_pages on;
                    # 根据状态码执行对应操作,以下为381、302、387状态码都会触发
                    error_page 301 302 307 = @handle_redirect;
        }

        location @handle_redirect {
                    resolver 1.1.1.1;
                    set $saved_redirect_location '$upstream_http_location';
                    proxy_pass $saved_redirect_location;
        }
}
systemctl restart nginx 
systemctl enable nginx.servic
3.2镜像下载加速器配置
方法1
[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx #这里提示地址为library/nginx那么使用自己的加速器需要添加前缀,不同的镜像地址该部分内容不一样
确定镜像后缀以后使用以下命令进行镜像拉取
docker pull docker.hasten.com/library/nginx 
方法2
vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://docker.hasten.com"
    ],
}
systemctl  daemon-reload
systemctl  restart docker
docker pull nginx #使用正常命令拉取镜像

上述三种方式应该足以应付你获取镜像的各种场景,有任何问题欢迎留言交流

完结 撒花~ 🎉🎉🎉🎉🎉🎉

阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=20655,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?