Tag: 亚马逊

具有大型地理空间数据集的数据科学工作stream程

我对docker方式相对陌生,请耐心等待。 目标是使用开源可复制的方法将大地理空间数据集提取到Google Earth Engine 。 我使用本地计算机和Google计算引擎开展了一切工作,但也想让其他人也能使用这种方法。 大型静态地理空间文件(NETCDF4)目前存储在Amazon S3和Google云端存储(GEOTIFF)上。 我需要一些基于python的模块来使用命令行界面将数据转换并接收到Earth Engine。 这只能发生一次。 数据转换不是很重,可以通过一个胖实例(32GB内存,16个内核需要2个小时)来完成,不需要集群。 我的问题是我应该如何处理Docker中的大型静态数据集。 我想到了以下的select,但想知道最佳实践。 1)使用docker并将amazon s3和Google Cloud Storage存储桶挂载到Docker容器。 2)将大型数据集复制到Docker镜像并使用Amazon ECS 3)只需使用AWS CLI 4)在Python中使用Boto3 5)第五个选项,我还没有意识到 我使用的python模块是ao:python-GDAL,pandas,地球引擎,subprocess

在Amazon ElasticBeanstalk中使用docker或自定义AMI

我正在将应用程序迁移到Amazon,ElasticBeanstalk似乎是正确的工具。 此应用程序需要一些未安装在默认AMI中的软件包,我发现有两种方法可以为我的应用程序生成完整的环境: 自定义AMI:只需添加一些软件包到默认的AMI,并保存为我的自定义AMI。 Docker容器:使用具有Docker支持的Amazon映像,提供Dockerfile并让Amazon构build和部署映像。 我的问题是,什么是推荐的select? 我担心性能或部署与自动缩放相关的时间(将会有多个实例) 我想知道,如果有人知道真正的优点和常数或每个选项(理论上两个选项都是“平等”)。 我也知道这两种方法(自定义AMI和Docker),但从未在高负载环境下尝试过。

每个节点一个docker容器或每个大节点有许多容器

我们有一个docker集装箱小农场,分布在几个亚马逊实例。 根据容器的需要大小不同的主机镜像(根据内存和大小)是否可以一次托pipe多个小容器,或者每个容器有一个主机实例? 编辑#1 这里的问题是我们需要预先决定。 我知道我们可以稍后决定使用各种监控统计数据,但是在使用之前我们需要做一些架构和基础设施的决定。 更重要的是,我们无法控制要部署的内容。

如何设置从docker-hub到AWS ECS的连续部署?

我正在为我的微服务build立CI / CDpipe道。 目前,我使用TravisCI在办理登机手续时从Github提取代码,构buildDocker镜像并将其推送到DockerHub。 我尝试使用docker cloud(以前称为Tutum),它向AWS EC2实例提供自动部署function,但部署有时会重新创build容器和服务端点URL更改,这是不可取的。 我正在探索亚马逊的ECS及其任务,但是我无法find任何有关如何在将新映像推送到泊坞窗时设置连续部署到ECS的参考。 任何人有任何经验的设置?

使用预configuration的Docker容器进行Elastic Beanstalk Django部署

我正在尝试将一个Django应用程序部署到弹性beanstalk。 我正在部署使用亚马逊的预configurationPython 3.4泊坞窗容器和新的Awsebcli v3命令行工具。 当我运行eb deploy我收到消息ERROR: Timed out while waiting for command to Complete ,但是当我运行eb logs时,我看不到任何遇到错误的迹象。 当我导航到为环境提供的CNAME时,它只是说Internal Server Error 在Amazon提供的使用docker预configuration的python容器部署到EB的示例中,他们使用了一个容器应用程序,并使用名为application.py的文件运行应用application.py …我没有这样一个application.py文件,我想这可能是造成这个问题。 我会在application.py文件中运行我的django应用程序,以及应用程序所需的任何命令(collectstatic,syncdb,如果数据库需要同步,其他makemigrations和迁移等) 我使用Django 1.7和Python 3.4 谢谢

如何将文件从主机装载到ECS上的Docker容器

我想从我的主机-EC2挂载一个文件到一个在ECS服务器上运行的容器。 在主机上的文件上发生的每一个变化都应该在容器中的文件上更新。 我试过的是如下: Dockerfile: FROM nginx COPY conf/default.conf /etc/nginx/conf.d/default.conf volume /etc/nginx/conf.d RUN ln -sf conf/default.conf /etc/nginx/conf.d/ EXPOSE 80 然后在ECR Repo上推送图像并创build任务,添加卷(源path:conf),挂载点(/etc/nginx/conf.d),并创build服务来运行容器。 然而,我在主机服务器上做的每一个改变,dir:/conf/default.conf都不能在容器/etc/nginx/conf.d/default.conf 我知道docker运行-v,但是当我使用ECR时,它通过设置运行容器本身。 任何build议,将不胜感激。

如何自定义Elastic Beanstalk上的docker run命令?

这是事情,我需要告诉Docker不要集装箱的networking,因为它需要连接到一个VPN(企业专用DB)内的MongoDB。 有一个Docker命令,让我做到这一点:– –net=host 。 在这里引用。 所以,例如,当我的本地机器上运行容器,我会做这样的事情: docker run –rm -it –net=host [image-name]:[version] bash -il 而这个命令将会诀窍。 由此,我可以连接到“私人”的MongoDB。 所以,我的问题是:有没有一种方法定制Elastic Beanstalk上单个Docker环境的–net=host docker run命令,以便我可以添加–net=host ? 我已经尝试使用container_commands到config.yml文件来添加该指令,但我不认为这是我所需要的,这里是一个片段: container_commands: 00-test_command: command: bundle exec thin –net=host 01-networking-fix: command: "docker run –rm -it –net=host [image-name]:[version] bash -il"

AWS Elastic Beanstalk应用程序和静态资产部署隔离

我有我的应用程序代码处理路由和用golang编写的restful API,但是我所有的客户端代码都是用Vue编写的,我希望将这两个代码隔离开来,所以我不必在修改div时部署整个容器。 我期待着将所有的静态内容托pipe在CDN上,但是它有点难以dynamic引用哈希 <!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>Test</title> <link href=/static/css/app.c6d9c9fc12c1dbaee77703a4dd731a8b.css rel=stylesheet> </head> <body> <div id=app> </div> <script type=text/javascript src=/static/js/manifest.c40d98f512f01d44a02f.js> </script> <script type=text/javascript src=/static/js/vendor.94202f7575960a15f341.js> </script> <script type=text/javascript src=/static/js/app.7a2bba27be158abd2c91.js> </script> </body> </html> 我曾经想过从S3前端dynamic拉取,但是,即使我将其caching起来,这也可能是昂贵的。 有什么方法可以绑定AWS EB git钩子并拉到合适的docker容器上?

无法通过S3向Elastic Beanstalk中的Docker进行身份validation

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html#docker-singlecontainer-dockerrun-privaterepo 按照这里的说明从Elastic Beanstalk连接到私有Docker Hub容器,但它固执地拒绝工作。 这似乎是在Docker 1.12中调用docker login ,生成的文件没有email属性,但听起来像aws期望的那样,所以我创build了一个名为dockercfg.json的文件,如下所示: { "https://index.docker.io/v1/": { "auth": "Y2…Fz", "email": "c…n@gmail.com" } } 我的Dockerrun.aws.json文件的相关部分如下所示: "Authentication": { "Bucket": "elasticbeanstalk-us-west-2-9…4", "Key": "dockercfg.json" }, 我已经将file upload到S3存储桶的根目录。 为什么我仍然得到说Error: image c…6/w…t:23 not found. Check snapshot logs for details. Error: image c…6/w…t:23 not found. Check snapshot logs for details. 我确定这个名字是正确的,如果它是一个公共存储库,这个名字就可以工作。 完整的错误在下面。 我从GitHub与Circle CI部署,如果有所作为,很乐意提供任何其他所需的信息。 INFO: Deploying new version […]

select合适的AWS服务和软件工具

我正在开发一个原型物联网应用程序,它执行以下操作 接收/存储来自传感器的数据。 带有基于Web的IDE的Web应用程序,供用户部署在Docker Containers中执行的简单JavaScript / Python脚本。 来自传感器的数据被传输到这些容器。 用户程序可以使用这些数据来进行分析,监测等。 这些程序的日志在webapp上输出给用户 当前架构和服务 使用一个AWS EC2实例。 我selectEC2是因为我试图弄清楚架构。 Stack是Node.js,RabbitMQ,Express,MySQl,MongoDB和Docker 我对使用AWS IoT和Greengrass等AWS IoT服务不感兴趣 我已经排除了Heroku,因为我正在使用其他AWS服务。 问题和疑虑 我的目标是为一组50个用户提供一个Beta版本的原型开发 (希望别人可以帮助/开发一个产品发布) 尽可能地,我不想花很多时间在服务之间迁移,因为开发产品是关键。 我应该坚持使用EC2还是转到Beanstalk? 如果我坚持EC2,处理中小stream量的最佳方式是什么? 使用一个大的EC2机器或许多小的微型实例? 什么是pipe理容器的好方法? 它是值得使用群体和容器pipe理? 如果我必须使用多个实例呢? 我也有一些小脚本,它们具有web应用程序和其他服务所需要的传感器信息的状态。 如果我移动到多个实例,我怎样才能使这些脚本可用于多台机器? 上述问题也适用于服务器,消息总线,数据库等。 我的目标当然不是​​产品发布。 我想完成产品,展示我有用户谁感兴趣,当然,表明产品的作品! 任何在这方面的帮助将非常感激!