AWS CLI docker:参数格式不正确
Posted
技术标签:
【中文标题】AWS CLI docker:参数格式不正确【英文标题】:AWS CLI docker: parameters are not formatted correctly 【发布时间】:2018-12-11 06:59:54 【问题描述】:我需要与 docker 和 AWS 合作。
当我尝试运行时
$ docker run --rm -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY grycap/aws-cli ec2 describe-instances
我明白了:
调用DescribeInstances操作时发生错误(AuthFailure):授权标头或参数格式不正确。
但是我的 $aws 配置已经完成;当我跑步时
$aws configure list
我明白了:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************3Y7Q shared-credentials-file
secret_key ****************yCIY shared-credentials-file
region ap-southeast-2 config-file ~/.aws/config
编辑: 当我尝试时
回显 $AWS_ACCESS_KEY_ID
响应是一个空行...
【问题讨论】:
你能分享来自主机的echo $AWS_ACCESS_KEY_ID
的输出吗?它是否显示您的实际 access_keys ?
看来你应该使用docker run -it -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -e AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION grycap/aws-cli ec2 describe-instances
嗨@chintanthakar,感谢您的回复,尝试回显,返回空行
是的,这就是您收到身份验证错误的原因。你首先必须export AWS_ACCESS_KEY_ID=<Your-Actual-key> and same for $AWS_SECRET_ACCESS_KEY, $AWS_DEFAULT_REGION
而不是你必须运行命令docker run --rm -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY grycap/aws-cli ec2 describe-instances
它肯定会工作
【参考方案1】:
这里是完整的解决方案。
export AWS_ACCESS_KEY_ID=<Your-Actual-key>
export AWS_SECRET_ACCESS_KEY=<Your-Actual-key>
export AWS_DEFAULT_REGION=<Your-Actual-Region>
然后运行以下命令:
docker run --rm -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY grycap/aws-cli ec2 describe-instances
或者你可以把这三个都放在~/.bash_profile
AWS_ACCESS_KEY_ID=<Your-Actual-key>; export AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=<Your-Actual-key> ; export AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION=<Your-Actual-Region> ;export AWS_DEFAULT_REGION
source ~/.bash_profile
然后运行命令:
docker run --rm -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY grycap/aws-cli ec2 describe-instances
希望这会有所帮助。 谢谢!
【讨论】:
以上是关于AWS CLI docker:参数格式不正确的主要内容,如果未能解决你的问题,请参考以下文章
带有 docker 的 AWS Elastic Beanstalk 版本不正确
如何通过docker-compose在docker环境中使AWS CLI可用
是否可以使用 ecs-cli compose 注册任务定义?