我使用docker-compose创建了一个Docker容器。在我的本地环境中,我可以毫无问题地调出我的应用程序。
现在我想将所有docker容器部署到AWS EC2(ECS)。在浏览了ECS文档之后,我发现我们可以使用相同的docker-compose来使用ECS-CLI在ECS中进行部署。但是到目前为止,ECS-CLI不适用于Windows实例。所以现在我不知道如何使用我的docker-compose使用单个命令构建我的所有图像,并将其从Windows实例部署到ECS。
似乎我必须将我的docker容器逐个部署到ECS,如下面的步骤
在ECS中还有其他运行docker容器的方法吗?
答案 0 :(得分:1)
我遇到了和你一样的情况。解决此问题的一种方法是使用Terraform将我们的容器部署为AWS ECS上的任务定义。
因此,我们使用docker-compose.yml在本地运行,而terraform是我们在AWS上的docker-compose的一种镜像。
另一个选项是Kubernetes,您可以将docker-compose翻译为Kubernetes resources。
答案 1 :(得分:0)
Docker-Compose在这个地方出错了。
您可以在任务定义中配置多个容器,如CloudFormation docs:
中所示
ContainerDefinitions
是AWS::ECS::TaskDefinition资源的一个属性,用于描述Amazon EC2容器服务(Amazon ECS)容器的配置
Type: "AWS::ECS::TaskDefinition"
Properties:
Volumes:
- Volume Definition
Family: String
NetworkMode: String
PlacementConstraints:
- TaskDefinitionPlacementConstraint
TaskRoleArn: String
ContainerDefinitions:
- Container Definition
只需在那里列出多个容器,所有容器将在同一台机器上一起启动。