如何通过registryId获取AWS ECR中的注册表主机与端口
通过Registry ID获取AWS ECR注册表主机与端口的方法
AWS ECR的注册表主机格式遵循固定规则,不需要依赖返回信息有限的describe-registry命令,以下是具体获取方式:
1. 直接按规则构造主机地址
ECR注册表主机的通用格式为:{registry-id}.dkr.ecr.{region}.amazonaws.com
registry-id:目标注册表IDregion:该注册表所在的AWS区域(比如us-east-1、ap-southeast-1)
端口默认固定为443,因为ECR仅支持HTTPS协议访问。
举个例子:如果注册表ID是123456789012,区域是ap-northeast-1,那么主机地址就是123456789012.dkr.ecr.ap-northeast-1.amazonaws.com,端口用443即可。
2. 通过仓库信息间接提取
如果不确定区域,或者想通过API获取验证,可以调用describe-repositories命令:
aws ecr describe-repositories --registry-id {你的registry-id}
返回结果中每个仓库的repositoryUri字段会包含完整地址(比如123456789012.dkr.ecr.us-west-2.amazonaws.com/my-app),截取仓库名称前的部分就是注册表主机,端口同样为443。
3. 获取注册表所在区域(可选)
如果不知道注册表对应的区域,可以用以下命令查询:
aws ecr describe-registries --registry-ids {你的registry-id}
返回结果里的registryArn字段会包含区域信息(格式为arn:aws:ecr:{region}:{registry-id}:registry),从中提取区域后再构造主机地址即可。
内容的提问来源于stack exchange,提问作者Rpj
相关产品推荐
相关产品推荐

