簡體   English   中英

Artifactory和Jenkins的自定義Docker倉庫URL

[英]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設置反向代理的說明?

通常,您需要:

  • 為docker使用正確設置反向代理
  • 獲得company.com的證書並在代理中使用它,或者將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.

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