Docker-Proxy

Docker-Proxy

简化并优化Docker镜像加速和管理的开源解决方案

Docker-Proxy是基于官方registry的开源镜像加速服务项目。它支持多个主流仓库的代理加速,提供一键部署和自动配置反向代理功能。项目特点包括自定义缓存、服务管理和认证授权,适用于多种Linux环境。通过优化镜像获取和管理流程,Docker-Proxy为容器化应用提供了高效的基础设施支持。

Docker镜像加速Registry容器镜像自建服务代理缓存Github开源项目
<p align="right"> <strong>中文</strong> | <a href="./README.en.md">English</a> </p> <div style="text-align: center"> <p align="center"> <img src="https://github.com/dqzboy/Docker-Proxy/assets/42825450/c187d66f-152e-4172-8268-e54bd77d48bb" width="230px" height="200px"> <br> <i>自建Docker镜像加速服务,基于官方 registry 一键部署Docker、K8s、Quay、Ghcr、Mcr、elastic等镜像加速\管理服务。</i> </p> </div> <div align="center">

Auth GitHub contributors GitHub Issues GitHub Pull Requests HitCount GitHub license

📢 <a href="https://t.me/+ghs_XDp1vwxkMGU9" style="font-size: 15px;">Docker Proxy-交流群</a>

</div>

📝 准备工作

⚠️ 重要:选择一台国外服务器,并且未被墙。对于域名,无需进行国内备案。你也可以通过一些平台申请免费域名。在一键部署过程中,如果选择安装Caddy,它将自动配置HTTPS。若选择部署Nginx服务,则需要自行申请一个免费的SSL证书,或者通过其他方式来实现SSL加密。

高性价比海外VPS推荐: 点击查看

<details> <summary><strong>免费域名证书申请</strong></summary> <div>

方式一: Acme.sh自动生成和续订Lets Encrypt免费SSL证书

方式二: 域名托管到Cloudflare 开启免费SSL证书

方式三: 可通过第三方平台,申请免费的域名证书(免费一般都为DV证书),适用于个人网站、博客和小型项目

</div> </details> <details> <summary><strong>如果你没有上面提到的环境,那么你也可以尝试以下的几种方案</strong></summary> <div>

方案一: 🚀 如果你身边没有上面提到的这些东西,那么你也可以部署到 Render

方案二: 如果你只有一台服务器,不想搞域名也不想配置TLS,那么你可以修改Docker的配置文件daemon.json,指定insecure-registries 为你的镜像加速地址

方案三: 如果你是在国内的服务器部署,那么你可以在执行一键部署时配置代理,同时会帮你解决国内无法安装Docker的问题

方案四: 使用本项目作者自建的付费加速服务,无黑白名单、不限速

<details> <summary><strong>付费镜像加速服务</strong></summary> <div>

点击图片跳转

<a href ="https://www.dqzboy.com/17834.html"><img src="https://yellow-cdn.veclightyear.com/835a84d5/4c13acb5-4993-44e5-8660-cb67ecb4870f.png"></a>

</div> </details> </div> </details>

部署过程中出现的问题或者疑问,请点击这里 问题总结,查看是否有你遇到的情况!尝试先自己解决。


📦 部署

通过项目脚本部署

# CentOS && RHEL && Rocky yum -y install curl # ubuntu && debian apt -y install curl # 国外环境 bash -c "$(curl -fsSL https://raw.githubusercontent.com/dqzboy/Docker-Proxy/main/install/DockerProxy_Install.sh)" # 国内环境 bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/dqzboy/Docker-Proxy/install/DockerProxy_Install.sh)"

部署到第三方平台

<details> <summary><strong>部署到 Render</strong></summary> <div>

Render 提供免费额度,绑卡后可以进一步提升额度

使用Render快速部署: 点击查看教程

</div> </details> <details> <summary><strong>部署到 Koyeb</strong></summary> <div>

Koyeb 分配的域名在国内地区访问不是很稳定,不是很推荐!

使用Koyeb快速部署: 点击查看教程

</div> </details>

Docker Compose 部署

<details> <summary><strong>手动部署容器</strong></summary> <div>

⚠️ 注意: 你需要对哪个镜像仓库进行加速,就下载哪个配置。docker-compose.yaml文件默认是部署所有的国外镜像仓库的加速服务,同样也是你部署哪个就配置哪个,其余的删除掉即可!

1. 下载config目录下对应的yml文件到你本地机器上

2. 下载docker-compose.yaml文件到你本地机器上,并且与配置文件同级目录下

3. 执行 docker composedocker-compose 命令启动容器服务

docker compose up -d # 查看容器日志 docker logs -f [容器ID或名称]

4. 如果你对Nginx或Caddy不熟悉,那么你可以使用你熟悉的服务进行代理。也可以直接通过IP+端口的方式访问

</div> </details>

🔨 功能

  • 一键部署Docker镜像代理服务的功能,支持基于官方Docker Registry的镜像代理。
  • 支持多个镜像仓库的代理,包括Docker Hub、GitHub Container Registry(ghcr.io)、Quay Container Registry(quay.io)、Kubernetes Container Registry(k8s.gcr.io)、Microsoft Container(mcr.microsoft.com)、Elastic Stack(docker.elastic.co)
  • 自动检查并安装所需的依赖软件,如Docker\Compose、Nginx\Caddy等,并确保系统环境满足运行要求
  • 根据你所选择部署的WEB反代服务,自动渲染对应的Nginx或Caddy服务配置
  • 自动清理注册表上传目录中的那些不再被任何镜像或清单引用的文件
  • 支持自定义配置代理缓存时间(PROXY_TTL)
  • 提供了服务管理、配置管理、服务卸载、认证授权等功能,方便用户进行日常管理和维护
  • 支持一键配置本机Docker代理和容器服务代理(HTTP_PROXY),仅支持http
  • 支持国内服务器一键部署,解决国内环境无法安装Docker\Compose服务难题
  • 支持主流Linux发行版操作系统,例如Centos、Ubuntu、Rocky、Debian、Rhel等
  • 支持主流ARCH架构下部署,包括linux/amd64、linux/arm64

✨ 教程

配置Nginx反向代理

注意: 如果你选择部署的是Nginx,那么代理程序部署完成之后,需自行配置 Nginx <br>

1.下载仓库下的nginx配置文件 registry-proxy.conf 到你的nginx服务下,并修改配置里的域名和证书部分 <br> 2.在你的DNS服务提供商将相应的访问域名解析到部署docker proxy服务的机器IP上 <br> 3.修改Docker的daemon.json配置,配置你自建的Registry地址。修改后重启docker

~]# vim /etc/docker/daemon.json { "registry-mirrors": [ "https://hub.your_domain_name" ] }

说明: 配置了daemon.json之后,现在拉取镜像无需指定你的加速地址,直接执行docker pull拉取你需要的镜像即可。下面的步骤是你在没有配置daemon.json的时候,拉取镜像需要加上你的加速地址才可以正常拉取。


1. 使用自建的 Registry 地址替换官方的 Registry 地址拉取镜像

# docker hub Registry ## 源:nginx:latest ## 替换 docker pull hub.your_domain_name/library/nginx:latest # Google Registry ## 源:gcr.io/google-containers/pause:3.1 ## 替换: docker pull gcr.your_domain_name/google-containers/pause:3.1

2. 前缀替换的 Registry 的参考

源站替换为平台
docker.iohub.your_domain_namedocker hub
gcr.iogcr.your_domain_nameGoogle容器注册表
ghcr.ioghcr.your_domain_nameGitHub容器注册表
k8s.gcr.iok8s-gcr.your_domain_nameKubernetes容器注册表
registry.k8s.iok8s.your_domain_nameKubernetes的容器镜像注册表
quay.ioquay.your_domain_nameQuay容器注册表
mcr.microsoft.commcr.your_domain_name微软容器注册表
docker.elastic.coelastic.your_domain_nameElastic Stack

详细教程: <br> 自建Docker镜像加速服务:加速与优化镜像管理<br> 自建Docker镜像加速,并把域名托管到CF加速镜像拉取

📚 展示

<br/> <table> <tr> <td width="50%" align="center"><b>系统环境检查</b></td> <td width="50%" align="center"><b>服务部署安装</b></td> </tr> <tr> <td width="50%" align="center"><img src="https://github.com/dqzboy/Docker-Proxy/assets/42825450/55df7f6f-c788-4200-9bcd-631998dc53ef?raw=true"></td> <td width="50%" align="center"><img src="https://github.com/dqzboy/Docker-Proxy/assets/42825450/c544fb1e-ecd5-447c-9661-0c5913586118?raw=true"></td> </tr> </table>

💻 UI

HubCMD-UI 手动安装教程:点击查看教程

<br/> <table> <tr> <td width="50%" align="center"><b>Docker Registry UI</b></td> <td width="50%" align="center"><b>Docker-Proxy CmdUI</b></td> </tr> <tr> <td width="50%" align="center"><img src="https://github.com/dqzboy/Docker-Proxy/assets/42825450/0ddb041b-64f6-4d93-b5bf-85ad3b53d0e0?raw=true"></td> <td width="50%" align="center"><img src="https://github.com/user-attachments/assets/2efe5d7e-6542-4867-9e50-17fa0e704b23?raw=true"></td> </tr> </table>

👨🏻‍💻 问题

<details> <summary><strong>问题总结</strong></summary> <div>

部署、使用相关等常见问题总结,欢迎补充!

相关问题总结: 点击查看

</details>

🫶 赞助

如果你觉得这个项目对你有帮助,请给我点个Star。并且情况允许的话,可以给我一点点支持,总之非常感谢支持😊

<table> <tr> <td width="50%" align="center"><b> 支付宝 </b></td> <td width="50%" align="center"><b> 微信支付 </b></td> </tr> <tr> <td width="50%" align="center"><img src="https://github.com/dqzboy/Deploy_K8sCluster/assets/42825450/223fd099-9433-468b-b490-f9807bdd2035?raw=true"></td> <td width="50%" align="center"><img src="https://github.com/dqzboy/Deploy_K8sCluster/assets/42825450/9404460f-ea1b-446c-a0ae-6da96eb459e3?raw=true"></td> </tr> </table>

😺 其他

开源不易,若你参考此项目或基于此项目修改可否麻烦在你的项目文档中标识此项目?谢谢你!

❤ 鸣谢

感谢以下项目的开源付出:

CNCF Distribution

docker-registry-browser

🤝 参与贡献

感谢所有做过贡献的人!

<a href="https://github.com/dqzboy/Docker-Proxy/graphs/contributors"> <img src="https://contrib.rocks/image?repo=dqzboy/Docker-Proxy" /> </a>

许可证

Docker-Proxy 采用 Apache 2 许可证


Star History Chart

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多