Sign inSign up

johnrootok/registry-proxy

By johnrootok

•Updated about 1 year ago

docker镜像代理服务

Image
0

168

johnrootok/registry-proxy repository overview

⁠Docker Registry 代理服务

⁠项目概述

这是一个用 Go 语言开发的 Docker Registry 代理服务,用于代理和缓存 Docker Hub 的镜像请求,提供更快的镜像拉取速度和更稳定的服务。支持 Docker Registry API v2 规范,完全兼容 Docker 客户端工具。

⁠功能特性

  • Docker Registry API v2 兼容:完全兼容 Docker Registry API v2 规范
  • 智能代理:自动代理请求到 Docker Hub 或其他上游 Registry
  • 认证支持:支持 Docker Hub 的认证机制,包括公有和私有仓库
  • HTTPS 支持:支持 TLS/SSL 加密连接
  • 自动证书管理:集成 Let's Encrypt 自动证书申请和续期
  • 健康检查:提供健康检查端点 /health
  • 监控指标:提供基础监控端点 /metrics
  • 详细日志:支持不同级别的日志记录和 JSON 格式输出
  • 重试机制:内置请求重试逻辑,提高服务稳定性
  • CORS 支持:跨域资源共享支持
  • 自动恢复:异常恢复中间件

⁠快速开始

⁠使用 Docker 运行
# 基本运行
docker run -d --name registry-proxy -p 80:80 johnrootok/registry-proxy:latest

# 带环境变量的运行
docker run -d --name registry-proxy \
  -p 80:80 \
  -p 443:443 \
  -e PROXY_HTTPS_ENABLE="false" \
  -e PROXY_LOG_LEVEL="info" \
  -e ENABLE_AUTO_CERT=1 \
  -e CERT_DOMAIN="your-domain.com" \
  -e CERT_EMAIL="[email protected]" \
  -e TZ="Asia/Shanghai" \
  -v $(pwd)/certs:/app/certs \
  --restart unless-stopped \
  johnrootok/registry-proxy:latest

PROXY_HTTPS_ENABLE  是否开启HTTPS支持,证书扫描/app/certs 目录*.crt *.key

ENABLE_AUTO_CERT 是否开启免费证书申请,并自动续期(必须开放 80,443端口)

CERT_DOMAIN 证书域名

CERT_EMAIL 证书邮箱

PROXY_UPSTREAM="https://registry-1.docker.io"  默认上游仓库

Tag summary

Content type

Image

Digest

sha256:6877a8907…

Size

4.1 MB

Last updated

about 1 year ago

docker pull johnrootok/registry-proxy