我需要对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
我得到:
调用描述实例操作时出错(身份验证失败(:授权标头或参数格式不正确。
但是我的$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
编辑: 当我尝试时
echo $AWS_ACCESS_KEY_ID
响应为空行...
这是完整的解决方案。
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
希望这会有所帮助。 谢谢!