Questions tagged «amazon-ecs»

Amazon Elastic Container Service(ECS)是一种高度可扩展的高性能容器管理服务,它支持Docker容器,并允许您在Amazon EC2实例的托管集群上轻松运行应用程序。

6
在Amazon ECS中更新服务的容器
建议使用哪种方法来更新在Amazon ECS中运行的服务的容器? 该AWS文档说:“如果你已经更新了应用程序的泊坞图像,你可以创建一个新的任务定义与图像,并将其部署到您的服务,一次一个任务。” 当前(2015年4月13日)文档中目前几乎包含所有内容。 我是否正确理解,在Amazon ECS中更新我的应用程序容器的唯一方法是创建一个新任务,然后停止旧任务并启动新任务? 我已经在Core OS和Fleetctl中成功使用了“最新”标签。这样做的好处是不需要为新的更新而更改Docker映像的标签,因为重新加载服务将看到新的更改并更新容器(使用相同的标签“最新”)。 您使用哪种方法通过Amazon ECS中的更新的docker镜像来更新服务?

3
Amazon ECS(Docker):将容器绑定到特定IP地址
我在玩Amazon ECS(重新包装Docker),发现ECS似乎没有提供一种Docker功能。即,我想在一个实例中运行多个容器,并将进入IP地址1的请求映射到容器1,将进入IP地址2的请求映射到容器2,依此类推。 在Docker中,通过以下方式将容器绑定到特定的IP地址: docker run -p myHostIPAddr:80:8080 imageName command 但是,在Amazon ECS中,似乎没有一种方法可以做到这一点。 我已经设置了具有多个弹性IP地址的EC2实例。将容器配置为任务定义的一部分时,可以将主机端口映射到容器端口。但是,与Docker不同,ECS没有提供指定主机IP地址作为映射一部分的方法。 另一个问题是,我希望来自容器N的出站请求具有容器N的外部IP地址。 有没有办法做到以上所有这些? 我浏览了AWS CLI文档以及适用于Java的AWS开发工具包。我可以看到CLI可以返回包含如下元素的networkBindings数组: { "bindIP": "0.0.0.0", "containerPort": 8021, "hostPort": 8021 }, Java SDK有一个名为NetworkBinding的类,它表示相同的信息。但是,此信息似乎是仅输出,以响应请求。我找不到将这种绑定信息提供给ECS的方法。 我要执行此操作的原因是,我想为同一用户使用可能在同一EC2实例上使用的不同容器为不同的用户设置完全不同的VM。每个VM都有自己的Web服务器(包括不同的SSL证书),以及自己的FTP和SSH服务。 谢谢。

9
Amazon ECS-如何重新启动服务的所有任务?
我们的任务是从外部数据源加载一些配置文件。上载设置后,我们希望能够重新启动服务中的所有任务,以便将设置传播到所有实例。 重新启动所有服务的最佳方法是什么? 我们有一个“解决方法”,其中涉及将“任务数”设置为0,然后进行备份,但这绝对不是应该完成的方式,并且会造成停机。

2
AWS ECS上的CannotPullContainerError
我不太了解AWS ECS 的我[registry-url]/[namespace]/[image]:[tag]的Docker Hub图像的图像URL 。 有了Docker客户端,它就是docker run -it hendry/count。 那么,Docker Hub的映像URL是什么?

2
对ECS的角色要求感到困惑
我正在尝试建立ECS,但到目前为止,我遇到了一些权限问题,为此我已经在该论坛上创建了一些问题。 我认为我被困住了,因为老实说我无法在一个地方准确地找到所有这些角色要求。 看来我需要定义至少两个角色: 1)ECS容器 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html 2)ECS任务 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles 这是对的吗? 我错过了什么吗?IAM是否有特殊要求?

3
为AWS Fargate任务分配域名
我有一个AWS Fargate任务在公共子网中运行Web应用程序,因此它具有公共地址。我的问题是如何将域(通过Route 53)连接到该任务,以便在部署该域的新版本时不会中断。 我知道我可以使用ALB / NLB,但我想节省成本。 我不想直接使用公共IP,因为它可能会更改。 我认为该解决方案必须对ENI有所帮助,但是我不确定如何通过Route 53指向它。 任何帮助将非常感激。 谢谢

2
如何:在弹性容器服务上进行Dockerized MongoDB复制
我有一个Node.js应用程序以及在AWS ECS上运行的MongoDB数据库。我目前得到的设置是由2个ELB和2个实例组成的,每个实例运行一个带有其分配的服务(节点/ mongo)的Docker容器: Elastic Load Balancer -> Dockerized Node -> Elastic Load Balancer -> Dockerized MongoDB 我正在运行MongoDB的官方Docker映像,可在此处访问:https : //registry.hub.docker.com/_/mongo/ 关于如何能够使用Docker和ECS为MongoDB部署一个副本集的任何指示,每个副本都在不同的实例上运行?

2
更改Amazon ECS服务的任务放置策略
我在具有5个EC2实例的单个ECS集群中运行大约15种微服务。在设置服务时,我没有过多地关注任务放置策略,现在我想更改它,但是到目前为止,我还没有找到一种方法。似乎您只能在创建服务时定义策略,而不能在更新时定义策略(Amazon文档未提及进行更新,但也没有说不可能)。 有没有办法更改任务放置,还是必须重新创建每个服务?

4
Ecs服务不会更新任务定义
在ecs集群中,我有一个运行有2个ec2实例的服务。然后我更新任务定义以获取新的docker映像。但是,即使有新的任务定义,旧的任务定义仍在运行。 我已使用以下命令来更新任务定义和服务。 aws ecs register-task-definition --family service90-task --cli-input-json file://service90-task.json aws ecs update-service --cluster service90-cluster --service service90-service --desired-count 0 TASK_REVISION=`aws ecs describe-task-definition --task-definition service90-task | egrep "revision" | tr "/" " " | awk '{print $2}' | sed 's/"$//'` aws ecs update-service --cluster service90-cluster --service service90-service --task-definition service90-task:${TASK_REVISION} --desired-count 2 我尝试了几次,但无法弄清楚哪里出了问题。我想让ecs服务运行新的任务定义而不是旧的任务定义。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.