amazon-web-services - 无需 AWS CLI 从本地 docker 容器访问 S3 存储桶

标签 amazon-web-services docker amazon-s3

存储桶可公开访问,但有一个 ACL 仅供授权用户访问。我可以从本地机器访问 S3 存储桶,因为我已经为它配置了 AWS CLI。

有没有什么方法可以从我的机器上运行的 docker 实例访问存储桶,而无需在 docker 镜像上安装和配置 AWS CLI?

编辑:
对于那些不了解 S3 的工作原理并且反对该问题的人,可以公开访问存储桶 - 如果命中顶级存储桶 URI,则会列出其所有内容;但是由于 ACL 限制,这些项目都无法访问。我知道这可能是一个糟糕的设计,但这不是这个问题的重点。
我可以从我的机器访问所有项目,因为我已将 AWS CLI 配置为允许访问应用程序 AWS 开发工具包。但是,我不能从 Docker 容器中访问它们。
如果不在 docker 镜像中设置 AWS CLI,这似乎是不可能的,因为 SDK 要么查找已配置的 AWS CLI,要么尝试访问内部 IP 169.254.169.254 进行元数据访问,这在 EC2 实例的情况下成功。 不,EC2 实例不附带根据以下答案设置的 CLI。 如果您的实例可以访问 protected S3 存储桶,这是 IAM 策略。

最佳答案

所有 aws ec2 实例均使用 aws cli 预构建。如果您的 docker 容器是使用 ec2 实例构建的,则根本不需要安装 cli。

关于amazon-web-services - 无需 AWS CLI 从本地 docker 容器访问 S3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43453423/

相关文章:

amazon-web-services - CloudFront 获得 X-Cache : Error from cloudfront with Status Code 200

amazon-web-services - 使用未链接到角色的 AWS CloudFormation 创建 CloudWatch 规则

wordpress - woocommerce webhook 没有触发

amazon-web-services - 将 RedShift 文件作为 CSV 移动到 S3

amazon-web-services - AWS Lambda 函数出现问题,cloudwatch 上调用错误

java - minikube 中的损坏 jar

java - Gradle 无法构建具有 Docker 依赖项的 JAR

Docker - 初始化,僵尸 - 为什么重要?

amazon-web-services - Pyspark s3 错误 : java. lang.NoClassDefFoundError: com/amazonaws/AmazonServiceException

amazon-s3 - 在亚马逊 Redshift 中使用复制命令处理数字空值