状态405 – docker – artifactory

将图片推送到docker artifactory时出现以下错误:
v1

 Error: Status 405 trying to push repository abc-docker-local: "{\n \"errors\" : [ {\n \"status\" : 405,\n \"message\" : \"Method Not Allowed\"\n } ]\n}" 

我使用nginx。 我的configuration文件如下所示:

 server_name localserver; rewrite ^ remoteserver/artifactory/api/docker/abc-docker-local/v1 redirect; if ($http_x_forwarded_proto = '') { set $http_x_forwarded_proto $scheme; } location / { proxy_read_timeout 900; proxy_pass_header Server; proxy_cookie_path ~*^/.* /; proxy_pass http://remoteserver:9081/artifactory/api/docker/abc-docker-local/v1; proxy_set_header X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host; 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; } 

在Artifactory中,我将repo设置为v1 。 我也用v2testing过,但没有结束点返回。 v2的确切错误是:

 Index response didn't contain any endpoints 

提前致谢

如果结果为空,则必须未插入所有必需的configuration – 以下是我的沙盒中的一个示例: 反向代理配置

无论如何,这是Artifactory生成的configuration,在我的Artifactory沙箱是我的机器的同时,它使用Docker 1.10(也适用于Docker 1.8和1.9)工作。

请注意证书的位置,我有哪些是不常见的(certs\myCert.cert)所以将其更改到您的SSL证书所在的位置,并且我还分别使用端口44414442作为V1V2

 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; ## add ssl entries when https has been set in config ssl_certificate certs\myCert.cert; ssl_certificate_key certs\myCert.cert; ssl_session_cache shared:SSL:1m; ssl_prefer_server_ciphers on; ## server configuration server { listen 443 ssl; listen 9091 ; server_name localhost; if ($http_x_forwarded_proto = '') { set $http_x_forwarded_proto $scheme; } ## Application specific logs ## access_log /var/log/nginx/localhost-access.log timing; ## error_log /var/log/nginx/localhost-error.log; rewrite ^/$ /artifactory/webapp/ redirect; rewrite ^/artifactory/?(/webapp)?$ /artifactory/webapp/ redirect; location /artifactory/ { proxy_read_timeout 900; proxy_pass_header Server; proxy_cookie_path ~*^/.* /; proxy_pass http://localhost:8080/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 4441 ssl; server_name localhost; if ($http_x_forwarded_proto = '') { set $http_x_forwarded_proto $scheme; } ## Application specific logs ## access_log /var/log/nginx/localhost-access.log timing; ## error_log /var/log/nginx/localhost-error.log; rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/docker-local-v1/$1/$2; client_max_body_size 0; chunked_transfer_encoding on; location /artifactory/ { proxy_read_timeout 900; proxy_pass_header Server; proxy_cookie_path ~*^/.* /; proxy_pass http://localhost:8080/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 4442 ssl; server_name localhost; if ($http_x_forwarded_proto = '') { set $http_x_forwarded_proto $scheme; } ## Application specific logs ## access_log /var/log/nginx/localhost-access.log timing; ## error_log /var/log/nginx/localhost-error.log; rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/docker-local-v2/$1/$2; client_max_body_size 0; chunked_transfer_encoding on; location /artifactory/ { proxy_read_timeout 900; proxy_pass_header Server; proxy_cookie_path ~*^/.* /; proxy_pass http://localhost:8080/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; } } }