在使用ECR get-login时,AWS环境变量无法直接传递给get-login命令。相反,需要使用shell脚本中的参数替换来手动提供AWS访问密钥。
以下是一个使用这种方法的简单示例:
#!/bin/bash
# 获取ECR登录密码
AWS_ACCOUNT_ID=
AWS_REGION=
aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
# 使用环境变量拉取镜像
docker pull ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/:
在这个示例中,手动提供了AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,这些值可以通过环境变量传递。这里使用了AWS_ACCOUNT_ID和AWS_REGION变量,用于提供ECR库的URL。
替代方式是运行从SDK获得的AWS访问凭证,并将AWS_REGION设置为默认区域。
上一篇:AWS环境变量问题
下一篇:AWS环境变量与shell无关