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

开发 前端
由于许多公开镜像站已不再可用,我们建立了一个公益镜像仓库供大家下载使用。然而,由于镜像仓库的带宽有限,建议用户自行搭建。

📝准备工作

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

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

🚀快速开始

通过项目脚本部署

# 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 清单文件为例:

wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

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

以argocd yaml文件举例:

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

方案一

使用方式:

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

#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 中配置加速器地址:

DOCKER_OPTS="--registry-mirror=https://docker.your_domain_name"

Ubuntu16.04+、Debian8+、CentOS7

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

{
  "registry-mirrors": [
    "https://docker.your_domain_name"
  ]
}

公益镜像仓库

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

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

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

使用方法

k8s.gcr.io/coredns/coredns => kubesre.xyz/k8s.gcr.io/coredns/coredns

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

k8s.gcr.io/coredns/coredns => k8s-gcr.kubesre.xyz/coredns/coredns

总结

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

最后推荐一个演示的docker镜像站:?https://github.com/kubesre/docker-registry-mirrors

责任编辑:武晓燕 来源: 云原生运维圈
相关推荐

2015-11-03 15:29:49

ONOS开放网络操作系统SDN

2010-06-01 15:00:00

SVN仓库

2015-02-09 15:25:52

换肤

2019-12-02 08:58:09

SQL脚本语言MySQL

2015-10-09 15:18:24

2020-05-21 16:07:00

Python 键盘编程语言

2020-12-24 14:00:58

开源技术 软件

2019-08-26 10:15:29

脚本索引数据库

2021-03-01 12:37:10

Shell脚本端口

2012-04-11 17:14:17

台式机评测

2022-04-07 13:56:13

前端一键换肤

2020-12-16 09:53:46

Redis脚本运维

2024-11-14 23:24:55

Shell脚本系统

2023-06-15 10:00:00

Jenkins任务操作

2018-08-29 08:19:43

iPhone求救手机

2020-12-29 11:04:57

Linux安装系统RedHat

2011-09-01 10:09:21

UbuntuwindowsXPGHOST

2024-07-03 10:47:50

点赞
收藏

51CTO技术栈公众号