如何从Docker镜像中的AWS S3注入工件?

我需要使用embedded式Jar文件准备Docker映像,将其推送到ECR中。 Jar文件存储在S3存储桶中。 如何在不显式存储AWS访问密钥的情况下将图像注入到图像中 ? 也许我可以使用AWS CLI或以其他方式存在? 此外,不build议在执行docker run期间将公共访问权限添加到我的s3存储桶,并通过envvariables设置访问密钥。

您可以定义AWS IAMangular色并将其附加到EC2实例。 所以任何需要运行这个docker build命令的实例都可以这样做,只要它具有IAMangular色就可以了。 您可以从AWS控制台执行此操作。 这解决了将AWS凭证放在实例本身上的问题。

你仍然需要在Dockerfile中安装aws cli。 一旦连接了IAMangular色,您就不必担心凭证。

推荐文档:

Amazon EC2的IAMangular色

这是一个关于如何做到这一点的官方博客文章教程:

使用AWS CLI将AWS IAMangular色附加到现有的Amazon EC2实例

只要确保在IAMangular色中指定了您希望这些实例有权访问的S3存储桶。