Docker compose ECS:从单个Docker Compose文件生成2个任务定义

Docker compose ECS:从单个Docker Compose文件生成2个任务定义,docker-compose,amazon-ecs,Docker Compose,Amazon Ecs,我在这个docker compose.yml文件中有一个体系结构: version: '3' services: flask: container_name: flask image: "user/demo_flask" ports: - "5000:5000" links: - mysql mysql: container_name: mysql image: "user/demo_mysql" envir

我在这个
docker compose.yml
文件中有一个体系结构:

version: '3'
services:
  flask:
    container_name: flask
    image: "user/demo_flask"
    ports:
      - "5000:5000"
    links:
      - mysql
  mysql:
    container_name: mysql
    image: "user/demo_mysql"
    environment:
      - MYSQL_ROOT_PASSWORD=mypassword
这里的
flask
服务是一个连接到
mysql
DB的flask应用程序,它只是带有一些自定义配置的
mysql:5.7
。我需要服务来通信(特别是,
flask
必须能够访问
mysql
)。 我想使用EC2启动类型将这种架构部署到ECS上。我计划使用ecs cli生成任务定义。只要我能理解,如果我在我的目录中包含文件
ecs params.yml

version: 1
task_definition:
  services:
    flask:
      cpu_shares: 50
      mem_limit: 262144000
    mysql:
      cpu_shares: 50
      mem_limit: 262144000
我得到一个任务定义,这不是我想要的。我想要两个独立的任务定义,每个任务都有一个容器。有可能得到这个吗?
谢谢。

ECS集群中不能使用两个任务定义运行一个服务。
您可以在这里创建两个任务定义(一个用于flask,一个用于mysql),并使用这两个任务定义创建两个服务,现在您可以在ECS集群中使用服务发现进行通信。请检查此aws服务发现。

谢谢您的回答。两种不同的服务都可以。考虑到我需要使用EC2启动类型。我正在努力跟踪这些迹象,但仍然不令人满意。我SSH到一个容器实例中,我使用
docker exec
连接到一个正在运行的容器,但Route53记录(如
mysql.local
)仍然无法正常工作。。。猜猜为什么?对不起,不知道细节很难提问。但是继续努力