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=&lt;Your-Actual-key&gt; 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 注册任务定义?

如何从 ECS 任务中安装 aws cli?

AWS Cognito 注销 URL 格式 - 不存在必需的字符串参数“redirect_uri”

在哪里可以找到具有更新值的 AWS CLI 文档?