繁体   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