【问题标题】:Gitlab Registry Docker push fails with EOFGitlab Registry Docker 推送失败并出现 EOF
【发布时间】:2018-11-21 20:21:35
【问题描述】:

所以我的问题是,当我尝试将 docker 映像推送到在 gitlab 上托管/运行的私有注册表时,推送将失败并显示 EOF 消息。

除了通过反向代理连接之外,在 Ubuntu 18.04 上的版本 11.4.7 中还有一个标准 gitlab 实例。

docker push registry.example.com:4567/example/project

The push refers to repository [registry.example.com] b927422b59f7: Preparing 1c55a05eac35: Preparing 8152e12d6303: Preparing 4df94c231950: Preparing c8f2b48b3ca4: Preparing 7bdc16d52fc6: Layer already exists 0fff85bdf758: Layer already exists 70cda07214eb: Layer already exists c87a43e8244d: Layer already exists a13e2f0a9f03: Layer already exists d21349b545ee: Layer already exists 48dd4e2003bc: Layer already exists 94fb2e0cad4e: Layer already exists c368c3ebd80b: Layer already exists 004ac8bfdd61: Layer already exists 174adb00500f: Layer already exists cbc7d59da4b4: Layer already exists 22133acd47a9: Pushing [==================================================>] 50.48MB 7641974a4ba0: Layer already exists 314e9c11d1e2: Layer already exists 7630224de148: Layer already exists 7ecb4828cd35: Pushing [==================================================>] 80.18MB/80.18MB 3d26624ea56e: Layer already exists 2887f86eb343: Pushing [==================================================>] 13.47MB/13.47MB a4ace4ed0385: Layer already exists fd29e0f8792a: Retrying in 5 seconds 687dad24bb36: Pushing [==================================================>] 3.584kB 237472299760: Retrying in 7 seconds EOF

反向代理配置

server {
    listen 4567 ssl;
    access_log /var/log/nginx/registry_acces.log;
    error_log /var/log/nginx/registry_error.log;
    server_name gitlab.example.com
    client_max_body_size 0;
    proxy_max_temp_file_size 0;
    ssl_certificate /etc/letsencrypt/live/registry.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/registry.example.com/privkey.pem;
    root /www/;

    location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto http;

            proxy_cache off;
            proxy_buffering off;
            proxy_request_buffering off;
            proxy_http_version 1.1;
            proxy_pass http://10.1.1.15:4567;
    }

    error_page 497 301 =307 https://$host:$server_port$request_uri;

}

【问题讨论】:

    标签: docker gitlab docker-registry


    【解决方案1】:

    我搞砸了反向代理配置。

    有了这个配置,它就可以工作了。

    server {
        listen *:4567;
    
        server_name  registry.example.com;
    
        server_tokens off;
    
        access_log /var/log/nginx/registry_acces.log;
        error_log /var/log/nginx/registry_error.log;
    
        ssl_certificate /etc/letsencrypt/live/registry.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/registry.example.com/privkey.pem;
        root /www/;
    
        client_max_body_size 0;
        chunked_transfer_encoding on;
    
        ## Real IP Module Config
        ## http://nginx.org/en/docs/http/ngx_http_realip_module.htmly
        location / {
    
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
    
            proxy_read_timeout                  900;
            proxy_pass          http://10.1.1.15:4567;
      }
    
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      • 2018-02-24
      • 2019-03-25
      • 2017-01-23
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多