簡體   English   中英

無法登錄到 Artifactory 上的 Docker 注冊表

[英]Unable to login to Docker registry on Artifactory

我能夠通過以下方式獲得令牌:

(base) ➜  ~ curl artifactory.example.com/artifactory/api/docker/null/v2/token -u myusername:mypassword
{"token":"mytoken","expires_in":3600}

但是,當我嘗試登錄時:

(base) ➜  ~ docker login artifactory.example.com -u myusername -p mypassword
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get http://artifactory.example.com/v2/: error parsing HTTP 404 response body: invalid character '<' looking for beginning of value: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p>The requested URL /artifactory/api/docker/null/v2/token was not found on this server.</p>\n</body></html>\n"

這就像它試圖做http://artifactory.example.com/v2/artifactory/api/docker/null/v2/token當它應該做http://artifactory.example.com/artifactory/api/docker/null/v2/token

你的example.com是如何設置的? 對我來說,您似乎在這里使用存儲庫路徑作為 docker 訪問方法。 從錯誤來看,docker 客戶端似乎得到了 HTML 響應,而不是來自 Artifactory 的響應。 看起來這個請求一開始沒有到達 Artifactory。 請分享是否有任何反向代理位於 example.com 之上? 如果可能,直接使用 IP 作為“docker login 12.23.34.45:8081”進行測試,並讓我們知道這是否有幫助。 如果登錄成功,則問題在於此處使用的反向代理。 共享反向代理日志和配置以查看它。

注冊表 API 要求它位於 url 的根目錄,並且不能在基於路徑的反向代理下工作。 您需要為 docker API 分配端口或主機名,以響應對該主機名上的/v2請求。 Artifactory 通過為您提供反向代理配置生成器來實現這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM