状态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
。 我也用v2
testing过,但没有结束点返回。 v2的确切错误是:
Index response didn't contain any endpoints
提前致谢
如果结果为空,则必须未插入所有必需的configuration – 以下是我的沙盒中的一个示例:
无论如何,这是Artifactory生成的configuration,在我的Artifactory沙箱是我的机器的同时,它使用Docker 1.10(也适用于Docker 1.8和1.9)工作。
请注意证书的位置,我有哪些是不常见的(certs\myCert.cert)
所以将其更改到您的SSL证书所在的位置,并且我还分别使用端口4441
和4442
作为V1
和V2
:
#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; } } }
- 无法访问部署在AWS容器实例上的artifactory控制台
- 如何在docker artifactory容器中使用自己的文件夹作为卷?
- docker企业解决scheme?
- 如何批准/标记泊坞窗图像进行testing,分期和制作
- 将Artifactoryconfiguration为位于http://some.domain:port而不是http://some.domain:port / artifactory /
- 拉artifactorydocker的形象
- Docker守护进程“未知:需要身份validation”消息
- 在Artifactory的docker repos的Nginxconfiguration
- 作为dockerregistry的artifactory