从本地码头包容器访问S3存储桶(不使用AWS CLI)
存储桶可公开访问,但具有访问授权用户的ACL。我可以从本地机器访问S3存储桶,因为我已经为其配置了AWS CLI。从本地码头包容器访问S3存储桶(不使用AWS CLI)
有什么方法可以从我的机器上运行的docker实例访问存储桶,而无需在docker映像上安装和配置AWS CLI?
编辑:
对于那些谁不明白S3是如何工作的,并downvoting问题,一只水桶能公开访问 - 所有的上市,其内容如果顶级桶URI被击中;但由于ACL限制,这些项目都不可访问。我明白这可能是一个糟糕的设计,但这不是这个问题的关键。
我可以从我的计算机访问所有项目,因为我已将AWS CLI配置为允许访问应用程序AWS软件开发工具包。但是,我不能从Docker容器访问它们。
似乎如果在Docker镜像中设置AWS CLI,这是不可能的,因为SDK要么查找配置的AWS CLI,要么尝试点击内部IP 169.254.169.254以获取元数据访问权限,的EC2实例。 不,根据下面的答案,EC2实例没有配置CLI。如果您的实例可以访问受保护的S3存储桶,那么这是IAM策略。
所有aws ec2实例都预先安装了aws cli。如果您的Docker容器是使用ec2实例构建的,则根本不需要安装cli。
我编辑了这个问题,使其更加清晰。我有兴趣在本地运行docker实例。所以EC2不在图片中。 – gargsms
大约有10个不同的AWS SDK可用,其中任何一个都可以在没有CLI的情况下访问S3存储桶。你能详细说明你在做什么吗? – stdunbar
如果存储桶配置为公共,则可以使用HTTP请求访问S3对象;所以我请求你使用curl或wget,你可以在任何Linux docker容器中默认使用它。 – Viswesn