0
votes

Try use Artifactory 5.1.4 as Docker registry. Docker client: Docker version 1.12.3, build 6b644ec Docker start script: dockerd --insecure-registry 10.254.5.88:5555

I created local docker repository (docker-dev-local) and added Registri port 5555. I added reverse proxy NGINX:

###########################################################
## this configuration was generated by JFrog Artifactory ##
###########################################################

    ## server configuration
server {

    listen 80 ;

    server_name 10.254.5.88;
    if ($http_x_forwarded_proto = '') {
        set $http_x_forwarded_proto  $scheme;
    }
    ## Application specific logs
    ## access_log /var/log/nginx/10.254.5.88-access.log timing;
    ## error_log /var/log/nginx/10.254.5.88-error.log;
    rewrite ^/$ /artifactory/webapp/ redirect;
    rewrite ^/artifactory/?(/webapp)?$ /artifactory/webapp/ redirect;
    chunked_transfer_encoding on;
    client_max_body_size 0;
    location /artifactory/ {
    proxy_read_timeout  900;
    proxy_pass_header   Server;
    proxy_cookie_path   ~*^/.* /;
    if ( $request_uri ~ ^/artifactory/(.*)$ ) {
        proxy_pass          http://10.254.5.88:8081/artifactory/$1;
    }
    proxy_pass          http://10.254.5.88:8081/artifactory/;
    proxy_set_header    X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host:$server_port/artifactory;
    proxy_set_header    X-Forwarded-Port  $server_port;
    proxy_set_header    X-Forwarded-Proto $http_x_forwarded_proto;
    proxy_set_header    Host              $http_host;
    proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
    }
}


## server configuration
server {
    listen 5555;


    server_name 10.254.5.88;
    if ($http_x_forwarded_proto = '') {
        set $http_x_forwarded_proto  $scheme;
    }
    ## Application specific logs
    ## access_log /var/log/nginx/10.254.5.88-access.log timing;
    ## error_log /var/log/nginx/10.254.5.88-error.log;
    rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/docker-dev-local/$1/$2;
    chunked_transfer_encoding on;
    client_max_body_size 0;
    location /artifactory/ {
    proxy_read_timeout  900;
    proxy_pass_header   Server;
    proxy_cookie_path   ~*^/.* /;
    proxy_pass          http://10.254.5.88:8081/artifactory/;
    proxy_set_header    X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host:$server_port/artifactory;
    proxy_set_header    X-Forwarded-Port  $server_port;
    proxy_set_header    X-Forwarded-Proto $http_x_forwarded_proto;
    proxy_set_header    Host              $http_host;
    proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
    }
    }

Example of docker push or pull command:

docker pull / push 10.254.5.88:/:

When I try push docker image in registry I have errors [root@srv-testapp-001t ops]# docker push 10.254.5.88:5555/tomcat The push refers to a repository [10.254.5.88:5555/tomcat] 36a8c4d5ca84: Retrying in 10 seconds ce01ee3ac464: Retrying in 9 seconds 0ae160076852: Retrying in 9 seconds baef051a7a53: Retrying in 9 seconds 4b9f0d739b02: Retrying in 9 seconds d9fbd1b4d993: Waiting f2b7296f00b0: Waiting f7ffae5fc398: Waiting 1d63bf83c52a: Waiting d0d8c46b7768: Waiting 654f45ecb7e3: Waiting 2c40c66f7667: Waiting

docker daemon write

ERRO[0271] Attempting next endpoint for push after error: Get https://10.254.5.88:5555/v2/: Tunnel or SSL Forbidden ERRO[0274] Upload failed, retrying: received unexpected HTTP status: 502 Connection refused ERRO[0274] Upload failed, retrying: received unexpected HTTP status: 502 Connection refused ERRO[0274] Upload failed, retrying: received unexpected HTTP status: 502 Connection refused ERRO[0274] Upload failed, retrying: received unexpected HTTP status: 502 Connection refused


1
Have you tagged the docker image first as listed in the Artifactory wiki page? jfrog.com/confluence/display/RTF/… - Ariel
I tagged, and retryed: docker push 10.254.5.88:5555/docker-dev-local:centos7 - 502 error - Zak Shirak
It seems that you are not passing the Nginx. What do you see in the Nginx logs? - Ariel
10.254.42.77 - - [17/Aug/2017:01:46:37 +0300] "POST /v2/local-docker1/blobs/uploads/ HTTP/1.1" 202 0 "-" "docker/1.12.3 go/go1.6.3 git-commit/6b644ec kernel/3.10.0-327.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.12.3 \x5C(linux\x5C))" - Zak Shirak
10.254.42.77 - - [17/Aug/2017:01:47:37 +0300] "PATCH /v2/local-docker1/blobs/uploads/0f0b3660-ade5-4279-9ea2-c351571f5330 HTTP/1.1" 408 0 "-" "docker/1.12.3 go/go1.6.3 git-commit/6b644ec kernel/3.10.0-327.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.12.3 \x5C(linux\x5C))" - Zak Shirak

1 Answers

0
votes

I had in ENV my linux machine settings for PROXY in /etc/environment. Proxy blocked connection to artifactory host.I see this message when started dockerd with log to console.

dockerd --insecure-registry srv-artprod-001:5555 &

TNX Ariel!