Skip to content

CarterCL/registry-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker 镜像反代

说明

此项目包含 registry-1.docker.io、get.docker.com、download.docker.com 的反向代理,并自动处理认证问题

配置

环境变量

变量 说明 示例值 默认值
REGISTRY_LISTEN 监听地址 127.0.0.1 (监听所有网卡)
REGISTRY_PORT 监听端口 8855 8855
GEO_DB_PATH GEOIP 数据文件 /opt/GeoLite2-Country.mmdb ./GeoLite2-Country.mmdb
GET_DOCKER_HOST docker 源域名 docker.xxx.com

变量说明

GEO_DB_PATH:若有值并且文件能正常读取,则自动开启过滤,只放行IP为CNPRIVATE的请求
GET_DOCKER_HOST:若有值,则修改Docker安装脚本中的DEFAULT_DOWNLOAD_URLhttps://{GET_DOCKER_HOST}/docker-ce

快速开始

注意:服务本身并不支持SSL,需要使用Nginx等反代工具反向代理此服务

Nginx配置示例

server {
    listen       443 ssl so_keepalive=on;

    # SSL配置

    location /v2 {
        proxy_pass http://127.0.0.1:8855/v2;
        proxy_set_header Host $host;
    }
    location /v2/ {
        proxy_pass http://127.0.0.1:8855/v2/;
        proxy_set_header Host $host;
    }
    location /token {
        proxy_pass http://127.0.0.1:8855/token;
        proxy_set_header Host $host;
    }
    location /get-docker {
        proxy_pass http://127.0.0.1:8855/get-docker;
        proxy_set_header Host $host;
    }
    location /docker-ce/ {
        proxy_pass http://127.0.0.1:8855/docker-ce/;
        proxy_set_header Host $host;
    }
    location / {
        return 444;
    }
    
}

Docker部署

首先编译出可执行程序,命名为registry_proxy,然后执行

docker buildx build -t registry-proxy:latest .

docker run -d --name registry-proxy --net host --restart unless-stopped \
  -e TZ=Asia/Shanghai \
  -e REGISTRY_PORT=8855 \
  -e REGISTRY_LISTEN=127.0.0.1 \
  -e GET_DOCKER_HOST=xxx.xxx.com \
  registry-proxy:latest

About

Docker相关反向代理

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published