使用脚本前请确认域名的[@记录和*记录]已经解析到该服务器!
🚀快速开始
通过项目脚本部署
# 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