【发布时间】:2019-06-12 22:45:53
【问题描述】:
将图像推送到 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。我的配置文件如下所示:
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 进行了测试,但没有返回任何端点。 v2 的确切错误是:
Index response didn't contain any endpoints
提前致谢
【问题讨论】:
-
您能指定您使用的 Artifactory 和 docker 客户端版本吗?
-
docker 版本客户端:版本:1.8.2-el7 API 版本:1.20 包版本:docker-1.8.2-10.el7.x86_64 Go 版本:go1.4.2 内置:OS/Arch:linux /amd64 服务器:版本:1.8.2-el7 API 版本:1.20 包版本:Go 版本:go1.4.2 内置:OS/Arch:linux/amd64 两者都设置为使用 api v2 Artifactory 前端显示:您正在运行 Artifactory 版本4.2.2 谢谢!
-
在这两个版本的最后几个版本中,api 发生了很多变化 - 您可以尝试使用 docker 1.10 和 Artifactory 4.7 吗?
-
我在设置 Artifactory 4.2.2 方面付出了很多努力你知道与 Artifactory 4.2.2 一起使用的 Docker 版本是什么吗? (如果有)
-
Docker 1.8 应该可以工作-在我看来,您的 nginx 配置很可能有问题...升级到最新的 Artifactory 不会给您带来任何特定问题(或风险),但您会得到reverse proxy snippet 功能并为自己省去所有麻烦。
标签: nginx docker artifactory