Docker 同一域名下多个 Registry 保存凭证的方式

232 字
2 分钟
...阅读
...评论
天气小雨
Docker 同一域名下多个 Registry 保存凭证的方式

阿里云的容器镜像服务是个好东西,配合在阿里云上容器服务,速度非常快。

但是阿里云的容器服务不支持自定义域名,都是在同一个域名下,通过不同的 namespace 来实现的。当需要管理多个账户下的不同 namespace 的时候,Docker 默认的认证存储方式就不太适用了。默认的 ~/.docker/config.json 中的 auths 是根据域名来区分的,会出现登录了这个 namespace 之后,另一个 namespace 认证会失效的情况。经过一番搜索,发现可以通过 docker --config 来实现。

通过如下方式来创建一个名为 config-a 的配置

docker --config ~/.docker/config-a login --username=config-a-username registry.cn-hangzhou.aliyuncs.com

之后 push 之类的命令,在前面加个 --config ~/.docker/config-a 即可,例如:

docker build -t registry.cn-hangzhou.aliyuncs.com/xxx/hblb-web:$npm_package_version -t registry.cn-hangzhou.aliyuncs.com/xxx/hblb-web:latest . && docker --config ~/.docker/config-a push registry.cn-hangzhou.aliyuncs.com/xxx/hblb-web:$npm_package_version && docker --config ~/.docker/config-a push registry.cn-hangzhou.aliyuncs.com/xxx/hblb-web:latest

同理,可以增加其他的 config 来完成同一域名下多个账号的认证存储。

评论区
Copyright © Bean Deng