我正在尝试对IBM Cloud(又名Bluemix)托管的私有Docker注册表进行身份验证。
在Octopus中,我可以成功连接到主要的Docker Hub源
但是,在尝试将IBM Cloud添加为外部源时,Octopus会返回以下内容:
在Octopus中,我可以成功连接到主要的Docker Hub源
index.docker.io
。并且通过IBM Swagger文档(链接:https://registry.eu-gb.bluemix.net/api/doc/#/)发出请求也能够返回有效结果。但是,在尝试将IBM Cloud添加为外部源时,Octopus会返回以下内容:
Octopus v2018.5.6
Unable to retrieve authentication token required to perform operation.
System.Exception
at Octopus.Core.Packages.Docker.DockerRegistryOAuthClient.RetrieveAuthenticationToken
at Octopus.Core.Packages.Docker.DockerRegistryOAuthClient.GetAuthRequestHeader
at Octopus.Core.Packages.Docker.DockerRegistryOAuthClient.Get
我在配置 feed 时,文档或标签没有明确指出应输入哪些值,但我尝试了以下内容:
- URL:https://registry.eu-gb.bluemix.net
- Registry path: registry.eu-gb.bluemix.net/api/v1/images
- 用户名:我的邮箱和用户 ID 都试过了
- 密码:我的 IBM Bluemix 密码或直接使用验证令牌。
编辑:我现在还尝试了IBM Cloud 网站上的这个指南:
- 我可以使用 Bluemix 命令行工具创建并检索到我的令牌。
- 我可以通过
docker login -u token -p <token_value> <registry_url>
在命令行中登录 docker,但是用相同方式配置 Octopus feed(用户名:token
,密码:<token_value>
)仍然会导致与上述相同的错误。
registry.eu-gb.bluemix.net
、https://registry.eu-gb.bluemix.net
,还尝试了全球 Bluemix 注册表 (registry.bluemix.net
) — 不幸的是,所有这些都给出了相同的错误。 - anotherdave