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

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

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

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多