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
)仍然无法正常工作。。。猜猜为什么?对不起,不知道细节很难提问。但是继续努力