问题标签 [amazon-ecs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - docker 容器因为“std in is not a tty”而退出
我们正在启动一个容器并使用 aws ecs 服务运行任务,根据任务定义成功提取了映像,但是当容器尝试运行任务时,由于“stdin 不是 tty”而退出。我们通过运行手动重现了该错误,docker run {image_name}
但没有找到解决方法。这是输出:
我们正在使用 Xvfb 运行测试,这里是我们的 dockerfile 中的相关依赖项
有谁碰巧知道如何解决这个问题?非常感谢。
amazon-web-services - AWS 上基于 docker 的微服务架构的部署方法
我正在开发一个使用微服务架构的项目。每个服务都存在于自己的 docker 容器中,并且有一个单独的 git 存储库,以确保松散耦合。
据我了解,AWS 最近宣布在 ElasticBeanstalk 中支持多容器 Docker 环境。这非常适合开发,因为我可以使用一个命令启动所有服务并在我的笔记本电脑上本地测试所有内容。就像 Docker Compose 一样。
但是,我似乎只能选择同时部署所有服务,这恐怕违背了拥有微服务架构的最初目的。
我希望能够将每个服务独立部署/版本到 AWS。在将基础设施管理降至最低的同时实现这一目标的最佳方式是什么?
ubuntu - ECS 不是 AWS CLI 中的一个选项?
我刚刚开始使用 Amazon EC2 Container Service,我正在尝试遵循本指南:
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_AWSCLI.html
我在 puTTY (ubuntu) 上登录并使用 AWS CLI
(注意:我是 Mac 用户,对所有这些都是新手)但是现在当我尝试运行开发指南中的第一个命令时,出现错误:
docker - 具有绑定端口和绑定主机名的 Akka 集群
按照Akka FAQ的规定,在 application.conf 中配置 bind-hostname 和 bind-port并启动集群后,我收到一个错误:
这似乎是说,参与者收到了一条发往端口 32810(外部端口)的消息,但由于内部端口(2552)不匹配而将其丢弃。
该文件的相关部分是:
我在 2.4-M1、2.4-M2 和 2.4-SNAPSHOT 上试过这个,效果都一样。
有没有其他人遇到过这个?有什么建议么?
编辑:这个演员系统在 Docker 容器的 ECS 中运行。docker 容器配置设置为在容器的私有 IP 上从临时范围转发到 2552。ECS 已成功将 hostname:port 映射到 bind-hosname:bind-port。Actor 成功运行并绑定到本地绑定主机名和绑定端口,但正在丢弃消息并发出上述错误。
amazon-ecs - ECS 服务 - 使用新的 Docker 映像自动部署
我想通过使用最新的 Docker 映像启动我的 ECS 服务来自动部署我的应用程序。根据我的阅读,部署新镜像版本的方法如下:
- 创建一个新的任务修订版(在更新 Docker 存储库上的映像之后)。
- 更新服务并指定新修订。
这似乎可行,但我想通过 CLI 完成这一切,以便编写脚本。#2 似乎很容易通过 AWS CLI 使用 来完成update-service
,但是如果不重新指定整个 Task JSON,我看不到一种方法register-task-definition
(我的 JSON 将在环境变量中包含凭证,所以我想在尽可能少的地方有这个)。
这是我应该如何自动部署我的 ECS 服务更新的方式吗?如果是这样,是否有一种“好”的方法可以让任务定义启动新的修订版(即不复制所有内容)?
amazon-web-services - 如何理解 Amazon ECS 集群
我最近尝试使用 AWS 的任务定义来部署 docker 容器。在此过程中,我遇到了以下问题。
如何将实例添加到集群?使用 Amazon ECS 控制台创建新集群时,如何将新的 ec2 实例添加到新集群。换句话说,当启动一个新的 ec2 实例时,需要什么配置才能将其分配给用户在 Amazon ECS 下创建的集群。
一个集群需要多少个ECS实例,有哪些因素?
如果我在集群中有两个实例(ins1、ins2),并且我的 webapp、db 容器在 ins1 中运行。更新运行服务后(通过http://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-service.html),我可以看到新创建的服务在“ins2”中运行,然后排空“ins1”中的旧服务。我的问题是,我的webapp容器分配给另一个实例后,访问IP地址变成了另一个实例IP。如何防止或有什么解决方案使相同的IP地址访问webapp?不只是IP,换新实例后的数据呢?
coreos - 无法为 vethXXXXX 生成持久 MAC 地址:没有这样的文件或目录
我开始使用 CoreOS(在 AWS ECS 上)。在它启动我的第一个容器后,我看到了这个journalctl
:
这里有更多上下文。我已经删除了时间和实例信息,但这都是在同一秒内完成的。请注意,有两个不同的veth
条目。我不知道这是否意味着什么。
我在 Ubuntu 上发现了一个关于这个错误的讨论,它归结为删除 udev 规则,这在 CoreOS 上似乎不存在。有一个关于 iptables 和 OpenVPN 的讨论,这似乎也不适用。这是 Ubuntu 上 LXC 的桥接规则。同样,我不知道如何应用它。
我没有对网络或法兰绒配置做任何事情。如果问题出在那个区域,我需要具体的步骤来解决如何修复它以在 AWS ECS 中使用。
amazon-web-services - 通过没有 dockerhub 的任务定义在 AWS ECS 上部署
目前,我正在使用引用 dockerhub 中的自定义图像的任务定义在 ECS(Amazon EC2 容器服务)上部署我的 webapp。有没有办法在不通过 dockerhub 的情况下做到这一点,即跨集群节点在本地构建/部署 dockerfile?
目前,我只能考虑通过 ssh 发送 shell 命令或使用 ansible 之类的工具。
也许我在这里遗漏了一些完全明显的东西......
aws-opsworks - 如何在 CloudFormation 中向 Opsworks Stack 注册 ECS 集群?
我不知道如何在 CloudFormation 中使用 ECS 集群设置 OpsWorks 层。由于以下错误,我的图层创建失败,但似乎没有一种明确的方法可以将集群注册到模板中的堆栈。我尝试添加EcsClusterArn
到堆栈和图层,但没有奏效。API 有一个命令,但我想在我的模板中包含所有内容。
错误:
模板片段:
谢谢, 天恩
amazon-web-services - AWS 上的 Docker - Elastic Beanstalk 和 ECS 有什么区别?
我想从 Heroku 迁移到 Amazon AWS,我想在 Docker 映像中部署我的应用程序。所以该应用程序包括:
- Web 服务器(node.js -> docker 镜像)
- 工人(node.js -> 码头工人形象)
- Postgres 数据库 (Amazon RDS)
- Redis 实例(Amazon ElatiCache?)
使用我的应用程序我(Web+Worker):
- 我必须能够手动或自动扩展 web 和 worker 实例。
- 使用零停机时间更新新图像
- 查看实时/历史指标
- 查看实时/历史日志
现在,在研究 Amazon 文档时,我发现了“Elastic Beanstalk”和“Amazon EC2 Container Services (ECS)”。我想知道我应该使用哪一个来管理我的应用程序(docker 图像)?它们之间有什么区别?