Tag: 亚马逊 ECS

如何从Cloud Formation获得Elastic Container Repository URI?

我正尝试从Cloud Formation创build一个弹性容器服务(ECS)设置。 不过,我不希望ECS存储库有丑陋的自动生成的URI: 111111111.dkr.ecr.us-east-1.amazonaws.com/docker-repo.company.com 但相反,我希望它有一个很好,有光泽 docker-repo.company.com 存储库本身不允许设置URI 甚至是CNAME 。 所以我试图设置一个S3存储桶redirect到回购。 但是除非我错过了一些东西,Cloud Formation不支持这个,因为使用!Ref或!GetAtt没有任何我可以在AWS :: ECR :: Repository对象中查询的东西,它会给我一个存储库URI。 我错过了什么吗? 谢谢!

ECS什么时候做Docker拉

如果我在ECS集群上停止/启动一个任务,将会取出最新的Docker镜像。 要么 我需要创build一个新的任务吗?

Docker Swarm可以升级/降低主机吗?

我对Docker Swarm和ECS相当陌生。 在简要阅读Docker Swarm文档之后,似乎需要用固定数量的实例/主机来初始化Swarm。 然后,容器的调度/部署将根据特定标准在这些实例上启动。 我想知道它是否有能力扩大/降低主机。 例如,假设Swarm从3个工作主机开始。 而且我希望每个主机最多有2个容器。 在第七个容器上,我想要自动创build第四个主机。 这可能吗? 看来亚马逊ECS能做到这一点。 在ECS中,我们似乎只需要提供一个容器图像,ECS就会自动为您自动放大/缩小实例。 这是真的? ECS内部使用Docker Swarm吗? Docker Swarm和ECS有什么区别?

Amazon应用程序负载均衡器基于主机的路由到特定的ECS容器服务

我是AWS新兴的ECS&ALB,我想知道如何将我的应用程序在前端指向特定的ECS服务。 我应该给它也许是:端口或/ service_name? 如果我想使用基于主机的路由,并使用我自己的DNS子域名。 例如 : <service>.hostname.com , 如何通过应用程序负载平衡器将每个服务指向ECS集群中相应的服务?

DOCKER:在docker运行后,在容器中执行一次性命令

我遇到了一个关于我的Dockerfile的问题 – 我有一个包含Web应用程序的容器。 当然,当我启动容器时,Web应用程序启动,并通过将我的入口点设置为'/ sbin / init' ,我可以让容器永远运行(如在,它不只是启动和closures)。 现在,问题是, 在容器首次启动后 ,我需要做一些NFS挂载 。 我明白我可以删除ENTRYPOINT并利用CMD来通过说CMD ./my_create_mount_script.sh 但是,那么我如何确保我的容器将像我在使用ENTRYPOINT / sbin / init时一样继续运行? 例如, 如果我在Dockerfile中的最后一行是: CMD ./my_create_mount_script.sh (脚本内部只是一些挂载语句),我的最后一行是: ENTRYPOINT / sbin / init它不会对我有任何好处,在这种情况下,入口点期望CMD通过它的参数,没有别的。 ^如果有关系,我将把这个容器部署到AWS ECS

多个docker容器vs多个ec2实例

我有多个微服务,我必须独立运行。 我想在Docker容器中部署它们在一个EC2实例。 但是接下来就是缩放的问题。 我的知识是ECS给我的规模的能力。 我没有使用ECS。 所以我的问题是我可以通过创build一个ec2networking来扩展我的所有容器? 还是有什么我没有想到或知道的? 另外,这个部署的性能问题是什么? 谢谢阿米特

运行存储在EC2容器实例中的Docker镜像

我正在使用EC2容器实例来构build我的泊坞窗图像。 然后我想使用ECS服务来安排一个任务。 我的图像已经在EC2容器实例中呈现。 我是否需要将其推送到Docker Hub? 或者我可以直接从EC2容器实例运行这个图像? 有最佳做法吗?

Docker:ECS vs Beanstalk与Docker Cloud

我正在寻找pipe理微服务可扩展基础架构的最简单,最快速的方法。 我select了使用Docker。 但到目前为止,我还面临着不同的方式。 AWS ECS AWS Elastic Beanstalk docker云 你会去哪一个? 为什么?

从用户数据重新启动ecs-agent

我将EBS挂载到AWS中的ecs-enabled实例。 对于Docker来说EBS是可见的,docker守护进程必须重新启动。 我向用户数据添加了适当的命令。 但是我无法从用户数据重新启动ecs-agent docker容器。 以下是我的用户数据: #!/bin/bash echo ECS_CLUSTER=MYCLUSTER>> /etc/ecs/ecs.config mkfs -t ext4 /dev/sdb mkdir /db/ mount /dev/sdb /db/ service docker stop service docker start docker start ecs-agent 在SSH上,我可以看到ecs-agent容器已经创build,但没有运行。 当我手动启动容器时,它正在工作。 在实例启动期间启动它的正确方法是什么? 我的用户数据脚本中缺less什么? 我需要创build一个用于自动缩放组的启动configuration。 实例应该启用EBS并且对泊坞窗可见。

Docker容器访问外部MySQL主机

我已经在EC2实例(EC2_IP)中设置了一个spring-boot docker容器,而且我有一个托pipe在不同虚拟机中的MySQL。 我validation了可以从托pipedocker容器的EC2实例访问mysql主机(MYSQL_IP)。 我在docker运行期间使用docker环境variables传递spring.datasource.url参数。 春季启动应用程序无法向用户db_user @ EC2_IP拒绝错误消息访问。 这是我无法理解和修复的部分。 我不明白为什么它试图连接到EC2_IP而不是db_user @ MYSQL_IP 。 我做了一个docker检查,并validationspring.datasoure.url的环境variables正确传递,它是db_user @ MYSQL_IP:3306。 我花了几个小时试图解决这个问题,但没有运气。 任何帮助表示赞赏。 要根据评论澄清,我已经正确configuration了数据源。 在docker检查里面,Args的价值: -Dspring.datasource.url = JDBC:MySQL的:// MYSQL_IP:3306 /testing 此外,我检查是否通过一些无效的IP(例如)一些随机的文本,然后它会抛出一个错误,说主机是无效的(这证实,它是采取主机,我通过)。 但是,如果我configuration为外部IP,它似乎parsing为主机IP地址(EC2_IP)。