Tag: amazon ecs

Docker集群可以在多大程度上降低基础架构成本?

我想知道,通过引入基于Docker的集群(如Kubernetes,Docker Swarm,Mesos或Amazon ECS),我可以期望实现何种成本节约(如果有的话)。 我的公司多年来一直在使用Docker,既支持开发,也支持生产,但迄今为止我们还没有引入集群协调器。 我们有些人认为这样做会帮助我们减less我们的(AWS)基础设施支出,而另一些则不相信。 如果您已经引入了一个集群来降低成本,那么结果如何呢?

用EBS部署多容器docker环境(flask&nginx)

以下代码在使用docker-compose在本地运行时工作。 但是,当我将Flask和nginx容器推送到ECS并尝试从Elastic Beanstalk启动此应用程序时,如下所示引用Dockerrun.aws.json文件中的容器,我无法启动我的应用程序而没有错误。 有谁知道如何格式化Dockerrun.aws.json文件? 或者,问题在别处? 谢谢! nginx / default.conf : server { listen 80; server_name example.org; charset utf-8; location /static { alias /usr/src/app/static; } location / { proxy_pass http://web:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } nginx / Dockerfile : FROM nginx RUN mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.old COPY default.conf /etc/nginx/conf.d/default.conf web / […]

Docker:能够从主机远程login远程机器,但不能从容器远程login

我们在ECS上部署了一对Docker容器。 容器内的应用程序使用远程服务,因此需要使用它们的10.XXX私有IP访问它们。 我们使用Docker 1.13与CentOS 7和docker / alpine作为我们的基本映像。 我们也使用netwokMode: host为我们的容器。 问题来了,我们可以从主机成功运行telnet 10.XXX 9999 ,但是如果我们从容器内部运行相同的命令,它只是挂起,不能连接。 另外,我们在主机(容器运行的地方)启用了net.ipv4.ip_forward ,但在远程机器上禁用了。 不知道可能是什么问题,也许iptables ?

我应该如何将敏感环境variables传递给Amazon ECS任务?

将敏感环境variables(如密码)传递给Amazon ECS任务的build议方法是什么? 使用Docker Compose,我可以使用仅键环境variables ,这会导致从OS环境中读取值。 但是我看不到任何相应的ECS任务定义方法。

如何将docker-compose.yml转换为Django的Dockerrun.aws.json

我正在按照https://docs.docker.com/compose/django/上的说明得到一个基本的dockerized django应用程序。 我能够在没有问题的情况下在本地运行它,但是使用Elastic Beanstalk将其部署到AWS时遇到了麻烦。 在阅读这里之后 ,我想我需要将docker-compose.yml转换成Dockerrun.aws.json才能工作。 原来的docker-compose.yml是 version: '2' services: db: image: postgres web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: – .:/code ports: – "8000:8000" depends_on: – db 这是我翻译到目前为止 { "AWSEBDockerrunVersion": 2, "volumes": [ { "name": "db" }, { "name": "web" } ], "containerDefinitions": [ { "name": "db", "image": "postgres", "essential": true, "memory": […]

ECS将不会启动实例,“由于无法find资源,无法执行任务”。

我无法弄清楚为什么我的ecs服务不会启动,并不断发出错误“服务无法放置任务,因为资源无法find”。 在我的任务定义中,我有500个CPU单位专用和250个内存,只是一个非常小的样本节点应用程序,只是提供我的静态资产。 我正在启动我的服务与1任务,没有ELB。

AWS EC2容器服务/ Elastic Beanstalk Docker容器端口udp绑定

根据ECS任务定义的文档,这是我们如何定义端口映射。 "portMappings": [ { "containerPort": integer, "hostPort": integer } … ] 默认情况下,这是通过tcp绑定端口。 如何实现udp端口绑定到在AWS Elastic Beanstalk(多容器)或AWS ECS中运行的Docker容器?

如何访问OpsWorks ECS层中的私有Docker存储库?

我正在尝试使用ECS Ops-Works图层来pipe理一些自动化,但我无法弄清楚如何设置这些实例来设置ecs.config来包含我的私有Docker存储库凭证,就像手动pipe理ec2一样直接工作。 我想我需要以某种方式使用一些自定义的厨师来覆盖设置配方加载我的模板,而不是该文件的默认模板,但我是新来的厨师,所以如何做到这一点不清楚。

如何使用docker-compose.yml和ecs-cli将EBS卷附加到我的容器中

我使用docker-compose.yml来定义一组容器。 并使用ecs-cli compose (service) up在AWS上创build我的应用程序。 我知道创build容器时, AWS ECS会自动附带100GB EBS 。 (即使承载容器的EC2实例只有8GB的硬盘驱动器)。我想拥有一个持久存储,即使我更新了我的容器,它仍然可以指向相同的100GB EBS 。 我很确定我可以做到以下事情来实现这个目标: 将外部EBS附加到EC2实例,并使用撰写文件中的卷将该卷附加到容器。 不过,我觉得在ECS上可能会有更好的方法,因为它会自动为您提供100GB的ELB。 也就是说,如果我使用上述方法,那么我真的在“浪费”每个容器附带的100GB容量。 那么,实现这个目标的最好方法是什么? 你能给出一个像docker-compose.yml格式的答案吗? container1: image: image1 container2: image: image2 links: – "container1"

Kubernetes和Amazon ECS有什么不同?

Amazon ECS和Kubernetes实施体系结构有什么区别? 我需要决定select一种云中的容器pipe理技术。 select这些技术时决定的因素是什么? 我正在使用Docker来创build和执行容器。