我正在使用 GitLab 注册表,但我注意到给定注册表中当前存储库的名称丢失了。
而这种行为只能在 GitLab 上观察到,DockerHub 的作用就像一个魅力。
我将提供一些图像,以便更清晰。
观察:
GitLab 中的当前状态:
同样的事情,但在 DockerHub 中:
肯定看起来像一个错误,我们会调查它。 感谢您报告@danielgospodinow!
@BigMorty我认为我们应该将其用于 0.11.0,因为它本质上使 GitLab 在我们的注册表视图中无法使用。
在给定的命名空间中只能存在这些空白存储库中的一个——它的名称 _is_ 与命名空间相同——因此这在一定程度上缓解了这个问题。 您不会看到空白存储库的字段,没有上下文或关于什么是什么的提示。
我能够重现:
通过标记并推送到registry.gitlab.com/username/project/repo:latest
,它将显示为带有标记latest
存储库something
latest
,如下所示:
docker push registry.gitlab.com/bwateratmsft/vscode-extension-testing/webworkspace:latest
但是如果你用registry.gitlab.com/username/project:latest
标记和推送,它会显示为存储库空白:
docker push registry.gitlab.com/bwateratmsft/vscode-extension-testing:latest
我会检查一下 Docker Hub 有什么不同...
所以 Docker Hub 不允许推送到命名空间本身。 即我可以推送bwateratmsft/webworkspace:latest
但不能推送bwateratmsft:latest
。
很高兴您设法重现了这个问题,我很高兴您甚至弄清楚了到底发生了什么! :smile: 祝你好运,伙计们!
谢谢! 我们试图确切地决定在那个位置应该放什么文本。 从技术上讲,它完全是另一个存储库。 我们的一些想法包括:
bwateratmsft/vscode-extension-testing
。 这将是与父节点完全相同的文本。<root>
<default>
您是否有任何偏好,或者是否有不同的文本可以显示在那里?
我认为选项 1 似乎很合理。 事实上,这就是我作为用户所期望的行为。 :微笑:
我熟悉源代码,我也会尽力帮助解决这个问题。 我很乐意为这个项目做出贡献。 :微笑:
我进一步研究了代码,这似乎是 GitLab 本身的一个怪癖。 他们的 API 返回一个空白的name
值。 不过,我认为修复本质上是相同的——在构建存储库节点时,如果请求中没有任何内容,我们可以只提供一个默认名称,如项目名称。
是的,我绝对同意! :smile: 此修复程序应该可以解决问题。
我设法在本地应用了修复程序。
我可以尝试为此发出拉取请求,即使它只是一行代码? :微笑:
是的,请这样做! 欢迎用户投稿。 :微笑:
我已经提出了拉取请求。 :smile: 我会尽我所能继续贡献! :v: 谢谢你们的精彩讨论,这对我来说是一个很好的机会!