2016-04-26 76 views
8

我使用Sonatype Nexus作爲私有Docker註冊表。Nexus Docker Registry - Failling anonymous pull

雖然它與經過身份驗證的用戶一起工作,但嘗試使用匿名用戶提取圖像不起作用。這隻發生在碼頭客戶端上。

使用Nexus UI(未登錄)我可以瀏覽我的回購圖片。但試圖拉圖像,我得到一個'未經授權'的錯誤。

以下是泊塢窗客戶端和Nexus存儲庫之間的通信的捕獲流:

Wireshark packet capture

這是奇怪的,因爲啓用匿名訪問,並根據文檔,我可能有一個Docker託管註冊表(通過HTTPs端口進行RW訪問)和一個Docker組註冊表,指向一個Docker託管註冊表,通過RO /匿名訪問。

回答

2

Docker註冊表API需要用於註冊表訪問的身份驗證,即使對於拉式操作,Nexus 3也是如此。即使對於拉取,Dockerhub也總是需要訪問令牌。 但是你可以從dockerhub匿名提取的原因是它使用了一個令牌服務器,它自動給匿名用戶發出訪問令牌。 Nexus 3.0.1暫時無法使用這種機制。 也許它會被執行(https://issues.sonatype.org/browse/NEXUS-10813)。

因此,目前與Nexus 3,它將永遠需要登錄之前拉圖像(最終與匿名用戶是你的權利設置這種方式)。

2

此功能已添加到Nexus 3.6中。據the documentation

  1. 在安全>境界,使「泊塢承載令牌境界」,在庫配置
  2. 取消選中「強制基本身份驗證」
相關問題