DaoCloud / crproxy

CRProxy (Container Registry Proxy) is a generic image proxy
MIT License
378 stars 98 forks source link

add default host && local deploy #7

Closed thsrite closed 5 months ago

thsrite commented 5 months ago

默认拼接docker.io,这样就可以docker pull gateway_domain/nginx:latest直接拉取镜像。 docker images看到的镜像名是gateway_domain/nginx:latest

现在的逻辑是 docker pull gateway_domain/docker.io/nginx:latest docker images里镜像名字太长了:gateway_domain/docker.io/nginx:latest

更简洁点: 如果把gateway_domain写入daemon.json里 就可以直接docker pull nginx:latest拉取镜像。 docker images看到的镜像名是nginx:latest

大部分docker都在docker.io。其他前缀拉取方式跟以前一样。docker pull gateway_domain/k8s.io/images

thsrite commented 5 months ago

这里是有点问题。 原本想预定义几个常用镜像仓库, docker pull nginx的时候没指定镜像库,就遍历预定义的几个镜像仓库查找该镜像,找到就自动赋值host。 ---- Replied Message ---- FromShiming @.>Date06/11/2024 23:06 @.> @.>, @.>SubjectRe: [wzshiming/crproxy] add default host && local deploy (PR #7) @wzshiming commented on this pull request. In crproxy.go:

    • // add default prefix if not exist + if !strings.HasPrefix(path, defaultHost) { + path = defaultHost + "/" + path + } + 这样写会导致其他 registry 无法正常, 如 ghcr.io, gcr.io 等 In examples/local/README.md: @@ -0,0 +1,46 @@ +# 本地版 + +- 旨在方便快捷 +- nas部署即可、无需vps、无需公网、域名可选 + +### docker运行crproxy ++docker run -d --name crproxy \ + -p 8080:8080 \ + -e HTTPS_PROXY=http://代理ip:代理port \ + ghcr.io/wzshiming/crproxy/crproxy:v0.1.0 + +如crproxy所在宿主机全局代理,则无需添加-e HTTPS_PROXY环境变量 既然已经有代理了, 为什么不直接配置给 docker 呢? In examples/local/README.md: +### nginx配置(可省略、6be7957c合并可删除该步骤) +npm或nginx均可、反代crproxy ++location /v2/ { + if ($request_uri !~* \.io) { + rewrite ^/v2/(.*)$ /v2/docker.io/$1 break; + } + proxy_pass http://crproxyip:crproxyport; +} + 这一层好像没有必要吧 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
thsrite commented 5 months ago

Unraid没法给docker加代理,不想unraid全局代理,也不想经常修改daemon.joan文件,就想本地部署crproxy容器,给crproxy配置代理,daemon.json写crproxy地址。这样后续不需要再调整docker配置了。只要梯子不崩就很稳。 另一点是docker pull的时候不想加镜像源,那样镜像名会很长。 ---- Replied Message ---- FromShiming @.>Date06/11/2024 23:06 @.> @.>, @.>SubjectRe: [wzshiming/crproxy] add default host && local deploy (PR #7) @wzshiming commented on this pull request. In crproxy.go:

    • // add default prefix if not exist + if !strings.HasPrefix(path, defaultHost) { + path = defaultHost + "/" + path + } + 这样写会导致其他 registry 无法正常, 如 ghcr.io, gcr.io 等 In examples/local/README.md: @@ -0,0 +1,46 @@ +# 本地版 + +- 旨在方便快捷 +- nas部署即可、无需vps、无需公网、域名可选 + +### docker运行crproxy ++docker run -d --name crproxy \ + -p 8080:8080 \ + -e HTTPS_PROXY=http://代理ip:代理port \ + ghcr.io/wzshiming/crproxy/crproxy:v0.1.0 + +如crproxy所在宿主机全局代理,则无需添加-e HTTPS_PROXY环境变量 既然已经有代理了, 为什么不直接配置给 docker 呢? In examples/local/README.md: +### nginx配置(可省略、6be7957c合并可删除该步骤) +npm或nginx均可、反代crproxy ++location /v2/ { + if ($request_uri !~* \.io) { + rewrite ^/v2/(.*)$ /v2/docker.io/$1 break; + } + proxy_pass http://crproxyip:crproxyport; +} + 这一层好像没有必要吧 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>