Amazon web services 如何在aws中为python设置docker?

Amazon web services 如何在aws中为python设置docker?,amazon-web-services,docker,amazon-ec2,Amazon Web Services,Docker,Amazon Ec2,我是新来的码头工人。我正在开发一个小程序,将文档上传到弹性搜索域,我是在aws中建立的。我测试了我的代码,以确保我可以连接到我设置的弹性服务(见下面的示例)。我正在添加将文档从本地驱动器推送到服务器的代码。我如何设置docker(不产生太多额外成本),并将此代码打包为映像并将其部署到EC2服务器或其他地方。我仍在提交细节,但我可以有一个ec2实例,读取和处理数据,并将其推送到弹性服务中。如果我的方法遗漏了什么,有人能提出一些建议吗 import json from elasticsearch i

我是新来的码头工人。我正在开发一个小程序,将文档上传到弹性搜索域,我是在aws中建立的。我测试了我的代码,以确保我可以连接到我设置的弹性服务(见下面的示例)。我正在添加将文档从本地驱动器推送到服务器的代码。我如何设置docker(不产生太多额外成本),并将此代码打包为映像并将其部署到EC2服务器或其他地方。我仍在提交细节,但我可以有一个ec2实例,读取和处理数据,并将其推送到弹性服务中。如果我的方法遗漏了什么,有人能提出一些建议吗

import json
from elasticsearch import Elasticsearch, RequestsHttpConnection
from requests_aws4auth import AWS4Auth

my_region = 'us-east-1'
my_service = 'es'
my_eshost = 'search-jiudomain-bqfy4dd5xuljut33l6jdz7gkqi.us-east-1.es.amazonaws.com'


aws_auth = AWS4Auth( 'AKIA***','******', my_region, my_service)

es = Elasticsearch(hosts = [{'host': my_eshost, 'port': 443}],
    http_auth=aws_auth, use_ssl=True, verify_certs=True, connection_class=RequestsHttpConnection)

print(json.dumps(es.info()))

这个问题似乎很广泛,但我能补充的细节很少

  • 首先,将应用程序dockerize,您可以使用
  • 您可以使用AWS工具,如或
对于这些步骤,您将需要额外的努力,但这些方法的加分AWS将为您管理一切

现在如果我们调查一下你的问题

如何设置docker(不产生太多额外成本)

如果您正处于开发阶段,并且仍在学习Docker,那么最好使用Docker compose或在现有EC2机器中使用Docker

你需要的一切

  • 为您的以上内容创建Docker图像
  • 创建docker编写文件
  • 在现有Ec2计算机中运行docker映像

请考虑删除和重新创建您使用的AWS证书(并公开共享)。使用
AWS.*
环境变量比在代码中硬编码凭证更好。感谢您提供详细步骤。要进行迭代,请使用python docker映像在本地设置docker。使用容器编排工具,可以像repo一样存储甚至管理这些映像的部署。接下来的一个问题是,如何设置触发器(这只是一个示例),比如说,当我将文件上传到S3时,这些图像被部署到ec2,代码读取并处理这些文件?简而言之,我们是否创建和存储图像,直到需要运行作业。在这一点上,我们手动或设置一些触发器来提供aws资源并将这些映像部署到ec2服务器上?aws不提供在ec2上的self-mange容器上部署的方法,在ecs上,您可以通过代码部署来实现这一点,您还可以将docker映像存储在ECR上,它是aws注册的docker,您可以在映像更新时配置云监视事件