docker pull 通过 docker-group 既可以拉取 docker-hosted 镜像又可以拉取 docker-proxy 的镜像。
由于 nexus3 的限制,如果只代理至 docker-group 的话,无法推送镜像,所以需要将推送代理至 docker-hosted。
默认的 GET 与 HEAD 请求代理至 docker-group,其余的 PUT POST 请求代理至 docker-group。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| http {
map $request_method $repo_name { default hosted; GET group; HEAD group; }
server {
location /v2/ { client_max_body_size 8000M; rewrite /v2/(.*) /repository/docker-$repo_name/v2/$1 break; proxy_pass http://${IP}:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
}
|