使用Docker for aws命令行实用程序

js4nwp54  于 2022-12-22  发布在  Docker
关注(0)|答案(1)|浏览(160)

此命令按预期工作:

# docker run --rm -it public.ecr.aws/aws-cli/aws-cli:2.9.1 --version
aws-cli/2.9.1 Python/3.9.11 Linux/5.15.0-1026-aws docker/aarch64.amzn.2 prompt/off

但这并不意味着:

# docker run --rm -it public.ecr.aws/aws-cli/aws-cli:2.9.1 s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".

我也无法配置AWS凭据...

# docker run -it public.ecr.aws/aws-cli/aws-cli:2.9.1 aws configure

我不确定如何使用docker进行aws命令。
更新:
这似乎符合预期:

$ docker run --rm -it -v ~/.aws:/root/.aws  public.ecr.aws/aws-cli/aws-cli:2.9.1 s3 ls

但是在我的例子中,我没有本地保存的凭证,在这种情况下不推荐使用Docker容器吗?

2hh7jdfx

2hh7jdfx1#

此命令...

docker run --rm -it public.ecr.aws/aws-cli/aws-cli:2.9.1 s3 ls

...不起作用,因为它既不能访问$HOME/.aws中的AWS配置,也不能访问$AWS_ACCESS_KEY_ID$AWS_SECRET_ACCESS_KEY等环境变量。
如果您在环境变量中有凭据,则可以使用docker run-e选项将它们公开给容器:

docker run --rm -it -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY \
  public.ecr.aws/aws-cli/aws-cli:2.9.1 s3 ls

或者,您可以公开您的~/.aws目录,如您在最近编辑的答案中所示:

docker run --rm -it -v ~/.aws:/root/.aws \
  public.ecr.aws/aws-cli/aws-cli:2.9.1 s3 ls

相关问题