现在,我通过命令获取 ecr 密码并将其通过管道传输到
docker login
,以使用 ECR 注册表对我的 docker 客户端进行身份验证
aws ecr get-login-password --region 'us-east-1' | \
docker login --username AWS --password-stdin <my-aws-acct-id>.dkr.ecr.us-east-1.amazonaws.com
是否有命令可以判断我的 docker 客户端是否已通过 ECR 进行身份验证?
我尝试查看
docker info
中的信息和其他一些命令,但它无法告诉我我的 docker 是否已登录 ECR
下面的代码不起作用,但在我的 shell 脚本中类似这样的东西将是理想的:
if docker info | grep -q "<my-aws-acct-id>.dkr.ecr.us-east-1.amazonaws.com"; then
echo "Already logged in to ECR ✅"
else
echo "Not logged in to ECR"
唯一的方法似乎是检查docker的config.json,因为docker登录命令不会保留任何类型的会话。
你可以这样做:
if cat ~/.docker/config.json | grep <your-account-id>.dkr.ecr.<your-region>.amazonaws.com; then
echo "Already logged in to ECR ✅"
else
echo "Not logged in to ECR"
fi;