我正在使用最新的 gitlab 和集成的 docker 注册表。对于每个项目,我创建了一个单独的部署 token 。在我要部署镜像的主机上docker login https://registry.example.com/project1 ,输入部署 token 并获得成功。拉图像只是工作正常。
在同一台主机上,我需要从同一注册表部署另一个镜像。所以我做 docker login https://registry.example.com/project2 ,部署 token (与 token 1 不同,因为每个项目都有自己的部署 token )并获得成功。
然而在 .docker/config.json 我可以看到 docker 只存储域,而不是完整的 url,因此用新的替换旧的身份验证 token 。所以我现在只能拉图像 2,但不能再拉图像 1。
这是 docker 中的错误吗?如何为同一个注册表使用多个 auth/deploy token ?
Best Answer-推荐答案
您可以使用 --config Docker 客户端将多个凭据存储到不同路径的选项:
docker --config ~/.project1 login registry.example.com -u <username> -p <deploy_token>
docker --config ~/.project2 login registry.example.com -u <username> -p <deploy_token>
然后您可以通过选择您的凭据来调用 Docker 命令:
docker --config ~/.project1 pull registry.example.com/project1
docker --config ~/.project2 pull registry.example.com/project2
希望有帮助。
关于docker - 如何为同一个 docker 注册表使用多个身份验证/登录,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/50177884/
|