[英]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/
當然,其中nodeurl
和port
被實際值替換。 這可能是問題嗎? 我很困惑,因為在我的本地筆記本電腦上輸入 URL https://git.tu-berlin.de:5000/v2/
未經授權,但我可以通過 Singularity 登錄到私有注冊表並在之前未登錄時提取圖像碼頭工人。
使用 docker 憑證(無論是私有注冊表還是公共注冊表)的最簡單方法是使用環境變量SINGULARITY_DOCKER_USERNAME
和SINGULARITY_DOCKER_PASSWORD
。 如果設置,Singularity 會嘗試將這些用於所有docker 注冊表交互,因此僅在需要時設置它們通常很有用。 文檔中提供了其他信息: 通過環境變量進行身份驗證
代理問題有點棘手。 Singularity 似乎並不直接處理這些,而是依靠操作系統來完成它的工作。 嘗試在本地使用 env 變量(或文檔中也列出的交互方法)以確保它正常工作,然后在集群中嘗試一下。 如果它仍然在那里玩得不好,你可能需要有點創意或聯系管理員尋求指導。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.