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