Skip to content

🔥 🔥 🔥 自建Docker镜像加速服务,基于官方Docker Registry 一键部署Docker、K8s、Quay、Ghcr、Mcr、Nvcr等镜像加速\管理服务。支持免服务器部署到Render\Koyeb

License

Notifications You must be signed in to change notification settings

dqzboy/Docker-Proxy

Repository files navigation

中文 | English


自建Docker镜像加速服务,基于官方 registry 一键部署Docker、K8s、Quay、Ghcr、Mcr、elastic、nvcr等镜像加速\管理服务.


📝 准备工作

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

免费域名证书申请

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

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

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

如果你没有上面提到的环境,那么你也可以尝试以下的几种方案

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

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

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

方案四: 试试这个项目,基于Cloudflare Workers搭建Docker镜像代理服务


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

高性价比海外 VPS 推荐

🔨 功能

  • 一键部署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服务配置
  • 支持配置账号密码登入Docker Hub,可访问 Docker Hub 上的私有镜像同时解决Docker Hub的下载频率限制 配置参考
  • 支持自定义配置代理缓存时间(PROXY_TTL)、支持配置IP黑白名单,防止恶意攻击行为
  • 提供了服务管理、配置管理、服务卸载、认证授权等功能,方便用户进行日常管理和维护
  • 支持一键配置本机Docker代理和容器服务代理(HTTP_PROXY),仅支持http
  • 支持国内服务器一键部署,解决国内环境无法安装Docker\Compose服务难题
  • 支持主流Linux发行版操作系统,例如Centos、Ubuntu、Rocky、Debian、Rhel等,支持主流ARCH架构下部署,包括linux/amd64、linux/arm64
  • HubCMD-UI服务,面板展示、镜像搜索、文档教程、容器管理、容器监控、网络测试、用户中心等功能

📦 部署

通过项目脚本部署

# 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)"

# 国内环境cdn加速地址
bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/dqzboy/Docker-Proxy/install/DockerProxy_Install.sh)"

# 国内Github代理地址
bash -c "$(curl -fsSL https://ghp.ci/https://raw.githubusercontent.com/dqzboy/Docker-Proxy/main/install/DockerProxy_Install.sh)"
  • Hubcmd-UI 面板,通过脚本安装。Demo 查看 模拟环境,请实际部署后体验完整功能!
执行上面脚本,选项为:2 ---> 8 ---> 1

部署到第三方平台

部署到 Render

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

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

部署到 Koyeb

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

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

Docker Compose 部署

点击查看

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

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

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

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

# 启动全部容器
docker compose up -d

# 启动指定的容器,例如: Docker Hub Registry Proxy
docker compose up -d dockerhub

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

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

前缀替换说明

点击查看
源站 替换为 平台
docker.io hub.your_domain_name docker hub
gcr.io gcr.your_domain_name Google Container Registry
ghcr.io ghcr.your_domain_name GitHub Container Registry
k8s.gcr.io k8s-gcr.your_domain_name Kubernetes Container Registry
registry.k8s.io k8s.your_domain_name Kubernetes's container image registry
quay.io quay.your_domain_name Quay Container Registry
mcr.microsoft.com mcr.your_domain_name Microsoft Container Registry
docker.elastic.co elastic.your_domain_name Elastic Stack
nvcr.io nvcr.your_domain_name NVIDIA Container Registry

💻 Hubcmd-UI

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


镜像加速 镜像搜索
文档管理 TAG搜索
控制面板 容器管理

🫶 赞助

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

Alipay WeChat Pay

😺 其他

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

❤ 鸣谢

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

CNCF Distribution

docker-registry-browser

🤝 参与贡献

感谢所有做过贡献的人!

License

Docker-Proxy is available under the Apache 2 license


Star History Chart

About

🔥 🔥 🔥 自建Docker镜像加速服务,基于官方Docker Registry 一键部署Docker、K8s、Quay、Ghcr、Mcr、Nvcr等镜像加速\管理服务。支持免服务器部署到Render\Koyeb

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •