前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用一键脚本搭建自己的镜像加速仓库

使用一键脚本搭建自己的镜像加速仓库

作者头像
用户1107783
发布2024-06-17 16:52:07
990
发布2024-06-17 16:52:07
举报

⚠️ 重要:一台网络畅通的服务器。一个域名,无需国内备案,便宜的就行(推荐xyz结尾的,首年最低7元)!通过脚本可自动实现HTTPS。

使用脚本前请确认域名的[@记录和*记录]已经解析到该服务器!

🚀快速开始

通过项目脚本部署

代码语言:javascript
复制
# CentOS
yum -y install wget curl
# ubuntu
apt -y install wget curl

bash -c "$(curl -fsSL https://raw.githubusercontent.com/kubesre/docker-registry-mirrors/main/dockerproxy/install/DockerProxy_Install.sh)"

🔨 功能

  • 一键部署Docker镜像代理服务的功能,并且自动配置https证书.
  • 支持多个镜像仓库的代理,包括Docker Hub、GitHub Container Registry (ghcr.io)、Quay Container Registry (quay.io)和 Kubernetes Container Registry (k8s.gcr.io)
  • 自动检查并安装所需的依赖软件,如Docker、Nginx等,并确保系统环境满足运行要求. 自动清理注册表上传目录中的那些不再被任何镜像或清单引用的文件
  • 提供了重启服务、更新服务、更新配置和卸载服务的功能,方便用户进行日常管理和维护
  • 支持主流Linux发行版操作系统,例如Centos、Ubuntu、Rocky、Debian、Rhel等 支持主流ARCH架构下部署,包括linux/amd64、linux/arm64

✨ 教程

前缀替换的 Registry 的参考

源站

替换为

cr.l5d.io

l5d.your_domain_name

docker.elastic.co

elastic.your_domain_name

docker.io

docker.your_domain_name

gcr.io

gcr.your_domain_name

ghcr.io

ghcr.your_domain_name

k8s.gcr.io

k8s-gcr.your_domain_name

registry.k8s.io

k8s.your_domain_name

mcr.microsoft.com

mcr.your_domain_name

nvcr.io

nvcr.your_domain_name

quay.io

quay.your_domain_name

registry.jujucharms.com

jujucharms.your_domain_name

使用方法

以argocd 清单文件为例:

代码语言:javascript
复制
wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

首先需要确定原始镜像地址仓库

以argocd yaml文件举例:

代码语言:javascript
复制
grep -n image: install.yaml
21645:        image: quay.io/argoproj/argocd:v2.11.0
21739:        image: ghcr.io/dexidp/dex:v2.38.0
21768:        image: quay.io/argoproj/argocd:v2.11.0
21850:        image: quay.io/argoproj/argocd:v2.11.0
21927:        image: redis:7.0.14-alpine
22162:        image: quay.io/argoproj/argocd:v2.11.0
22214:        image: quay.io/argoproj/argocd:v2.11.0
22531:        image: quay.io/argoproj/argocd:v2.11.0
22825:        image: quay.io/argoproj/argocd:v2.11.0

方案一

使用方式:

使用方式都是替换原来镜像的前缀域名即可实现加速效果,比如:

代码语言:javascript
复制
#docker.io
原来地址:redis:7.0.14-alpine  # 这个是官方镜像,省略了前边的域名
替换地址:docker.your_domain_name/redis:7.0.14-alpine
#quary.io
原来的地址:quay.io/argoproj/argocd:v2.11.0
替换地址:quay.your_domain_name/argoproj/argocd:v2.11.0
#ghcr.io
原来的地址:ghcr.io/dexidp/dex:v2.38.0
替换地址:ghcr.your_domain_name/dexidp/dex:v2.38.0

方案二

注意事项

通过这种方式只能加速docker hub的镜像,对于其他镜像仓库,比如k8s.gcr.io, quay.io等,需要使用方案一替换前缀的方式进行加速。

使用方式:

还有一种方案是通过将加速地址写入到docker配置文件当中实现加速。

Ubuntu14.04、Debian7Wheezy

对于使用 upstart 的系统而言,编辑 /etc/default/docker 文件,在其中的 DOCKER_OPTS 中配置加速器地址:

代码语言:javascript
复制
DOCKER_OPTS="--registry-mirror=https://docker.your_domain_name"

Ubuntu16.04+、Debian8+、CentOS7

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

代码语言:javascript
复制
{
  "registry-mirrors": [
    "https://docker.your_domain_name"
  ]
}

公益镜像仓库

由于许多公开镜像站已不再可用,我们建立了一个公益镜像仓库供大家下载使用。然而,由于镜像仓库的带宽有限,建议用户自行搭建。以下是相关资源和使用方法:

Github仓库地址:?https://github.com/kubesre/docker-registry-mirrors

如果觉得有帮助,请在GitHub上点个⭐️以示鼓励。

使用方法
代码语言:javascript
复制
k8s.gcr.io/coredns/coredns => kubesre.xyz/k8s.gcr.io/coredns/coredns

或者通过支持的镜像仓库前缀替换即可使用,例如:

代码语言:javascript
复制
k8s.gcr.io/coredns/coredns => k8s-gcr.kubesre.xyz/coredns/coredns

总结

以上是搭建个人Docker镜像站的完整流程。如果有任何疑问或建议,欢迎在评论区留言交流。同时,也欢迎大家分享自己使用的镜像站。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生运维圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀快速开始
    • 通过项目脚本部署
    • 🔨 功能
    • ✨ 教程
      • 前缀替换的 Registry 的参考
      • 使用方法
        • 以argocd 清单文件为例:
          • 首先需要确定原始镜像地址仓库
            • 注意事项
            • 使用方式:
            • 使用方法
        • 方案一
        • 方案二
        • 公益镜像仓库
        • 总结
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档