【发布时间】:2020-05-05 05:49:59
【问题描述】:
我有一个 docker 容器,里面有一些 Jupyter Notebook,这些笔记本会进行一些涉及与 AWS 交互的处理,例如向 S3 发送数据和从 S3 发送数据。
我是 docker 新手,想知道如何将这个容器中的数据发送到 S3。似乎有比在我的容器上安装 AWS-CLI 更简单的方法,因为它已经在我的主机笔记本电脑上安装和配置......但我知道什么!
如果这样做的标准方法是在我的容器上安装 AWS,我可以这样做,只是感觉多余。 谢谢
【问题讨论】:
-
您可以在容器和主机笔记本电脑之间设置共享文件夹。因此,在容器中创建的所有文件也可以在您的主机笔记本电脑中使用。
-
我更感兴趣的是直接向 AWS 发送文件,或者从我的容器中启动 EC2 实例。
-
如果是这样,那么您可以为 Jupyter notebook (
python kernel) 使用 boto3 sdk,或者为 AWS CLI 安装bash kernel。python kernel还可以让您访问 bash,因此您可以使用 aws cli,但与在 Jupyter 中运行完整的bash kernel相比,它是有限的。是的,在容器中安装 boto3 或 aws cli 是您通常的做法。如何将凭据传递给它的问题是另一回事。 -
Docker 的设计目标是容器不依赖于主机上是否存在特定程序,并且容器不能从主机窃取凭据。 (在 EC2 上下文中,容器可以访问 EC2 元数据服务并使用主机的 IAM 实例凭证。)容器设置需要完全独立,如果您在此处直接调用 AWS CLI,则需要安装它在图像中。
标签: amazon-web-services docker containers