[英]Custom Docker Repository URL for Artifactory and Jenkins
我正在嘗試在我們的Jenkins實例上使用Docker Build and Publish插件。 Docker映像正在正確構建,但是將映像推送到我們的Artifactory Docker存儲庫時遇到了問題。
Artifactory存儲庫托管在https://instance.company.com/artifactory/test-docker-build
當我在構建日志中查看時,它無法上傳Docker映像,但是URL看起來像https://instance.company.com/test-docker-build 。 這是日志的輸出:
[workspace] $ docker push instance.company.com/test-docker-build:test
The push refers to a repository [instance.company.com/test-docker-build] (len: 1)
Sending image list
Error: Status 405 trying to push repository test-docker-build: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>405 Method Not Allowed</title>\n</head><body>\n<h1>Method Not Allowed</h1>\n<p>The requested method PUT is not allowed for the URL /v1/repositories/test-docker-build/.</p>\n</body></html>\n"
Build step 'Docker Build and Publish' marked build as failure
Finished: FAILURE
我假設它失敗了,因為存儲庫URL不正確。 我還嘗試了登錄后端並通過命令行使用正確的存儲庫URL進行推送,但這似乎也不起作用。
我的主要問題是:docker是否不喜歡URL結構,因為它使用'/'來表示用戶/圖像名稱? 如果url不包含/ artifactory,IE會工作嗎?
任何想法將不勝感激!
您返回的響應看起來像是反向代理將返回的內容(nginx \\ apache),而不是Artifactory-您是否遵循有關如何使用Artifactory設置反向代理的說明?
通常,您需要:
完成這些操作后,您無需/ artifactory或其他任何內容即可將Artifactory實例引用為instance.company.com 。 您發布的網址是反向代理在定向到Artifactory時應使用的網址(即instance.company.com/artifactory/api/docker/test-docker-build/v2 )
然后用法看起來像docker push instance.company.com/myImage:myTag
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.