簡體   English   中英

無法在集群上使用 Singularity 登錄私有 Docker 注冊表

[英]Unable to login to private Docker registry using Singularity on cluster

我一直在嘗試登錄我大學 GitLab 實例的私有 Docker 注冊表。 由於 Docker 未安裝在我正在處理的集群上,因此我使用的是 Singularity。

嘗試登錄時遇到錯誤:

 while login to docker://git.tu-berlin.de:5000: Get "https://git.tu-berlin.de:5000/v2/": Forbidden

現在,當我在 Firefox 中使用該 URL 時,我得到:

在此處輸入圖片說明

但我也從來沒有被要求輸入密碼,所以我想很明顯我是未經授權的。 我不確定這是否相關,但我的~.bashrc有兩個代理定義,因為計算節點無法直接訪問互聯網:

export https_proxy=http://[nodeurl]:port/
export http_proxy=http://[nodeurl]:port/

當然,其中nodeurlport被實際值替換。 這可能是問題嗎? 我很困惑,因為在我的本地筆記本電腦上輸入 URL https://git.tu-berlin.de:5000/v2/未經授權,但我可以通過 Singularity 登錄到私有注冊表並在之前未登錄時提取圖像碼頭工人。

使用 docker 憑證(無論是私有注冊表還是公共注冊表)的最簡單方法是使用環境變量SINGULARITY_DOCKER_USERNAMESINGULARITY_DOCKER_PASSWORD 如果設置,Singularity 會嘗試將這些用於所有docker 注冊表交互,因此僅在需要時設置它們通常很有用。 文檔中提供了其他信息: 通過環境變量進行身份驗證

代理問題有點棘手。 Singularity 似乎並不直接處理這些,而是​​依靠操作系統來完成它的工作。 嘗試在本地使用 env 變量(或文檔中也列出的交互方法)以確保它正常工作,然后在集群中嘗試一下。 如果它仍然在那里玩得不好,你可能需要有點創意或聯系管理員尋求指導。

暫無
暫無

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

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