作者:北路新华 | 来源:互联网 | 2022-12-18 14:37
我正在使用最新的gitlab和集成的docker注册表。对于每个项目,我创建一个单独的部署令牌。在要部署映像的主机上docker login https://registry.example.com/project1
,输入部署令牌并获得成功。拉图像效果很好。
在同一主机上,我需要从同一注册表中部署另一个映像。因此,我执行docker login https://registry.example.com/project2
了部署令牌(与令牌1不同,因为每个项目都有自己的部署令牌)并获得成功。
但是,在中,.docker/config.json
我可以看到docker仅存储域而不是完整URL,因此将旧的auth令牌替换为新的auth令牌。因此,我现在只能拉取图像2,而不再拉取图像1。
这是Docker中的错误吗?如何为同一个注册表使用多个身份验证/部署令牌?
1> 小智..:
您可以使用Docker客户端的--config选项将多个凭证存储到不同的路径中:
docker --config ~/.project1 login registry.example.com -u -p
docker --config ~/.project2 login registry.example.com -u -p
然后,您可以通过选择证书来调用Docker命令:
docker --config ~/.project1 pull registry.example.com/project1
docker --config ~/.project2 pull registry.example.com/project2
希望能有所帮助。