如何搭建代理镜像仓库

发布于:2024-10-24 编辑:匿名 来源:网络

背景:不知道你是否和我一样尴尬:在kubernetes的搭建过程中,需要拉取一些镜像,比如:dockerhub镜像,这个没关系。毕竟有加速器。

但是 k8s.gcr.io、quay.io。这些要怎么做呢?我碰巧构建了 kubeadm 1.25,安装 cilium 时 helm 失败。

如果下载失败怎么办?在docker时代,还可以直接导入,但是到了containerd时代,导入是不是还比较麻烦?经过搜索引擎的搜索,我发现了以下三篇文章。让我们向他们学习吧!参考:搭建Docker镜像仓库代理搭建容器仓库镜像服务器(gcr、ghcr、quay、k8s-gcr)彻底解决gcr、quay、DockerHub镜像下载问题!搭建镜像代理仓库,Michelangelo Yang写的那个确实解决了gcr、quay、DockerHub镜像下载问题!搭建k3s集群可以在全国范围内进行比较,但是我们只有一台国外服务器,而且还是一个轻量级服务器....一开始我们下载镜像,然后上传到国内harbor仓库...这里我们使用Docker镜像仓库来作为代理来操作吧!前提条件:服务器上安装了Docker,有四个国外域名和SSL证书。

注:我的服务器是轻量级服务器,ubuntu操作系统(之前其实已经安装过docker了...)代码语言:txt copy apt-get updateapt-get updateapt-get install docker*如果是centos请参考:代码language: txt copy yum update yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo install -y docker-ce 配置Docker设置Docker的日志格式为json,日志文件大小至M,最多保存3条日志;设置Docker镜像私有仓库和官方镜像加速地址;将Docker的数据目录设置为/data/docker;设置Docker的存储驱动为overlay2。代码语言:txt copy [root@dqzboy ~]# mkdir /etc/docker[root@dqzboy ~]# cat << EOF > /etc/docker/daemon.json{ "log-driver": "json-file", "log-opts": { "max-size": "m", "max-file": "3" }, "insecure-registry": [ "hub.dqzboy.com" ], "registry-mirror": " "data-root": "/data/docker", "exec-opts": ["native.cgroupdriver=systemd"], "storage-driver": "overlay2", "storage-opts": [ "overlay2. override_kernel_check=true" ]}EOF start Docker 代码语言:txt copy systemctl enable docker && systemctl start docker 安装Docker Compose并检查版本,我没有安装最新的,毕竟可以运行。

代码语言:txt copy curl -L " -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composeln -s /usr/local/bin/docker- compose /usr/bin/docker-composedocker-compose --versionimage。png 启动镜像仓库代理 git clone 及相关registry-proxy仓库配置文件 代码语言:txt 复制 git clone cdregistry-proxy 自定义修改配置文件,将域名的证书放在cert目录下,证书文件命名为该目录服务器名称;其中server.crt是ssl证书文件,server.key是ssl私钥注意:证书必须与域名对应,否则下载镜像时会提示修改nginx.conf配置文件,将配置文件中的域名替换为自己的域名(xxx.com)docker- compose.yaml修改我先修改以下内容。

docker-compose.yaml,原github项目仅代理gcr.io和k8s.gcr.io。嗯,这里我主要使用的是代理quay.io仓库。

如果代理其他仓库,也可以使用类似的方法!代码语言:txt 副本版本:'2' 服务:本地:container_name:reg-local 映像:findsec/registry-proxy:最新重新启动:始终 环境:- DELETE_ENABLED=true 卷:- ~/data/registry:/var/lib /registry 端口:- :网络:-registry-net 码头:container_name:reg-quay 图像:findsec/registry-proxy:最新重新启动:始终环境:-PROXY_REMOTE_URL= 卷:-~/data/registry:/var/lib/注册表网络:-registry-net gcr:container_name:reg-gcr图像:findsec /registry-proxy:最新重新启动:始终环境:-PROXY_REMOTE_URL =卷:-~/data/registry:/var/lib/registry网络:-registry -net k8s-gcr: 容器名称: reg-k8s-gcr image: findsec/registry-proxy:最新重新启动: 始终环境: - PROXY_REMOTE_URL= 卷: - ~/data/registry:/var/lib/registry 网络: -registry-net ui: 容器名称: reg-ui 图像: findsec/registry -ui:latest restart: 总是链接: - local:reg-local 环境: - REGISTRY_TITLE=我的私有 Docker 注册表 - REGISTRY_URL= - DELETE_IMAGES=true 网络: -registry-net nginx: 容器名称: reg-nginx 镜像: nginx:alpine restart : 始终端口: - 80:80 - : 链接: - ui:reg-ui - gcr:reg-gcr - quay:reg-quay - k8s-gcr:reg-k8s-gcr 卷: - ./nginx.conf:/ etc/nginx/conf.d/default.conf - ./cert:/etc/nginx/ssl 网络: -registry-netnetworks:registry-net:依着葫芦画瓢根据仓库中yaml文件中的gcr配置生成quay配置: image.pngimage.png 修改nginx.conf中域名: 代码语言:txt 复制 sed -i 's/xxx.com/zhangpeng.com/ g' nginx.confimage .png 添加码头域名相关配置:image.png 最终配置文件如下: 代码语言:txt copy server { Listen 80;听SSL;服务器名 hub.zhangpeng.com; proxy_connect_timeout; proxy_send_timeout; proxy_read_timeout;发送超时; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key;位置/{ proxy_pass proxy_buffering 关闭; proxy_request_buffering 关闭; }}服务器{ 听80;听SSL;服务器名 gcr.zhangpeng.com; proxy_connect_timeout; proxy_send_timeout; proxy_read_timeout;发送超时; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key;位置/{ proxy_pass proxy_buffering 关闭;代理请求缓冲离开; }}服务器{ 听80;听SSL;服务器名称 k8s-gcr.zhangpeng.com; proxy_connect_timeout; proxy_send_timeout; proxy_read_timeout;发送超时; ssl_certificate /etc/nginx/ssl/server.crt; 。钥匙;位置/{ proxy_pass proxy_buffering 关闭; proxy_request_buffering 关闭; }}服务器{ 听80;听SSL;服务器名称 quay.zhangpeng.com; proxy_connect_timeout; proxy_send_timeout; proxy_read_timeout;发送超时; ssl_certificate_key /etc/nginx/ssl/server.key;位置/{ proxy_pass proxy_buffering 关闭; proxy_request_buffering 关闭; }}ssl 证书。

记得上传ssl证书到cert目录:image.png。当然,你也可以修改docker-compose。

yaml。修改nginx中volumes中image.png的挂载路径。

您还可以修改 nginx.conf 文件中的 ssl_certificate ssl_certificate_key。文件名称: 图像e.png 启动镜像仓库代理代码语言:txt 复制 docker-compose up -ddocker-compose logs -f 可能会出现证书配置不正确的错误。

哈哈哈,下面的问题自己解决吧……我用的是dnspodimage来解析域名。 .png 使用镜像仓库代理。

本地工作环境安装的是rocky 8.5的podman。使用podman测试:代码语言:txt copy ###下载镜像 [root@zhangpeng ~]# podman pull k8s.gcr.io/pause:3.6# ##通过镜像仓库代理下载:[root@zhangpeng ~]# ]# podman pull k8s-gcr.zhangpeng.com/pause:3.6image.png 访问 hub.zhangpeng.com可以看到我们下载的图片是缓存的image.png。

接下来,我们可以进阶一下:图像清理不能总是被缓存。如果空间满了怎么办?最简单的办法就是写一个crontab: 代码语言:txt copy* * */2 * * /usr/bin/rm -rf /var/lib/registry/* &>/dev/null 镜像不行怎么办反白嫖认证服务器的代理是免费使用的吗?最简单的方法就是创建一个htpasswd: 代码语言:txt copy apt-get install apache2-utilsimage.png 代码语言:txt copy htpasswd -c passwd zhangpengimage.png 然后修改nginx.conf文件。

我这里只是修改了k8s来演示。

如何搭建代理镜像仓库

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 京东:三季度归属母公司净亏损28亿元,去年同期净利润76亿元

    京东:三季度归属母公司净亏损28亿元,去年同期净利润76亿元

    京东发布三季度财报。 财报显示,京东第三季度归属于母公司的净亏损为28亿元,而去年同期净利润为76亿元。 截至2019年9月30日,京东活跃买家数为5.52亿,较去年同期净增1.1亿。

    06-18

  • 深知科技再获近亿元B+轮融资,五源资本投资

    深知科技再获近亿元B+轮融资,五源资本投资

    不到一个月,深知科技宣布再获近亿元B+轮融资。 本轮融资由婺源资本投资,资金将用于新研发管线的开发。 今年1月,公司宣布完成由纪源资本领投的1亿元B轮融资。 听,中小企业反馈平台。 倾听用户需求,倾听创业者声音,解决中小企业痛点。 点击立即参与调查并获得礼物。

    06-18

  • 桑鑫生物完成数亿元A轮融资,由CPE元丰

    桑鑫生物完成数亿元A轮融资,由CPE元丰

    投资圈(ID:pedaily)领投 据7月23日消息,深圳市桑鑫生物科技有限公司(以下简称“深鑫生物”) 》)今年一季度已完成数亿元A轮融资,领先与轮次同轨的融资金额。 本轮融资由CPE元丰领投,君联资本跟投。 老股东智飞生物、动平衡资本、中科创兴、前海母基金继续投资。 知情

    06-18

  • 锐业药业获战略投资,将加速产能扩张

    锐业药业获战略投资,将加速产能扩张

    据投资界消息,8月20日,四环医药(0)发布公告,集团联营公司北京锐业药业有限公司(北京锐业)引进广东冠润股权投资合伙企业(有限合伙)、南京汇合股权投资合伙企业(有限合伙)作为出资人增资。 本次增资资金将用于北京锐业药业的正常经营需要,为后续扩大产能、降低生产

    06-18

  • 东车日报|特斯拉Model Y涨价-比亚迪秦PLUS上市新款-行驶中方向盘脱落,特斯拉需要换车

    东车日报|特斯拉Model Y涨价-比亚迪秦PLUS上市新款-行驶中方向盘脱落,特斯拉需要换车

    简介特斯拉Model Y涨价比亚迪秦PLUS DM-i加冠军丰田“大汉兰达” ”在芝加哥车展上首次亮相。 华为汽车业务不会换人换档,“HI”模式暂时不会调整。 雷军:小米力争15-20年进入全球前五它将被友嘉卖给小鹏。 知情者:还没听说禾赛科技正式在纳斯达克上市 特斯拉前AI负责人宣布

    06-21

  • 首钢医药控股获2亿元A轮融资,投资方为亦庄国投,

    首钢医药控股获2亿元A轮融资,投资方为亦庄国投,

    据投资界消息,首钢医药控股近日完成2亿元A轮融资。 本次融资的投资方为亦庄国投。 此前,首道控股获得双鹭药业1万元Pre-A轮融资。 首道控股于今年4月在北京经济技术开发区注册成立。 公司主要从事1.1类小分子抗肿瘤靶向药物和糖尿病新药的研发和生产。 公司产品管线拥有8项

    06-18

  • Apple Music 推出了另一款“青春版”会员资格, 5元-月的“声控套餐”值得报名吗?

    Apple Music 推出了另一款“青春版”会员资格, 5元-月的“声控套餐”值得报名吗?

    10月份的苹果发布会上,M1Pro和M1Max光芒太过耀眼,而色彩斑斓的HomePod mini和AirPods 3则太过高调。 让 Apple Music 的新订阅方式“语音控制计划”显得不那么重要了。 现在,我们已经可以在 iOS 15 Beta 版本中看到 Apple Music 语音控制计划的订阅选项。 那么相比Apple Mu

    06-21

  • 【创业24小时】2022年4月15日

    【创业24小时】2022年4月15日

    投融资昨天,国内市场共发生15起投资披露事件,其中4起与智能硬件相关(硕图科技、贝氪、汉特云、睿魔智能),医疗健康案例2个(美度生物、睿璟生物)、企业服务案例2个(盛云智能、奇安科技)、电商零售案例2个(青萄兰精、爱比迷人)、先进制造案例2个(新华龙科技、摩玛智

    06-17

  • 某文创果酒品牌获2800万融资(真不认识这个牌子

    某文创果酒品牌获2800万融资(真不认识这个牌子

    ) 某文创果酒品牌获2800万融资(真不认识这个牌子) IT橙IT橙微信IDitjuzi 关于专题 新经济权威创投数据服务商,从数据洞察创投趋势 05-08 13:15 北京 以下文章来自IT橙投资快报作者IT橙IT橙投资快报。 每日国内外互联网及TMT行业创投新闻速递,带您第一时间分享新鲜活跃内容

    06-17

  • 兰陵一体化平台提升药企协作能力,已被云南白药等行业百强企业使用,

    兰陵一体化平台提升药企协作能力,已被云南白药等行业百强企业使用,

    医药制造业是推进“健康中国”建设的重要保障。 随着医药行业结构优化和产业升级不断深入,行业发展长期趋势没有改变。 与此同时,企业之间的竞争持续加剧,数字化转型成为赢家。 药品制造领域涉及药品原料供应、药品研发、药品生产三大环节。 信息化覆盖比较完善。 然而,组

    06-18

  • 全球芯片的“两大巨头之战”已经打响,三星誓要成为“世界第一”

    全球芯片的“两大巨头之战”已经打响,三星誓要成为“世界第一”

    11月13日报道,韩国三星电子在半导体代工领域向台积电发起正面挑战。 尽管三星近期发布的财报显示,2017年1-9月综合营业利润同比大幅下降56%,销售额下降5%。 半导体主营业务营业利润同比大幅下降78%,但环比下降10%,降幅收窄。 不过,三星每年都会花费巨额投资,确定采用下

    06-08

  • 拒绝女儿节、女神节,是对女性最基本的尊重

    拒绝女儿节、女神节,是对女性最基本的尊重

    今天是3月8日,国际妇女节。 正如孔乙己所说,“‘惠’字有四种写法,妇女节也被称为女王节、女神节,或者更晦涩一点,是‘她的日子’。 有一天时光倒转是一种自发的”民间的“女生节”。 ▲图片来自:豆瓣网友都说女人能顶半边天,为什么不能光明正大地说“妇女节快乐”呢?

    06-21