【发布时间】:2018-12-31 02:41:47
【问题描述】:
所以我有两个容器定义,用于尝试在 ECS 上运行的服务。对于其中一项服务(Kafka),它需要另一项服务(Zookeeper)的 IP 地址。在纯 docker 世界中,我们可以使用容器的名称来实现这一点,但是在 AWS 中,容器名称由 AWS 附加以创建一个唯一的名称,那么我们如何实现相同的行为呢?
目前我的 Terraform 任务定义如下:
[
{
"name": "${service_name}",
"image": "zookeeper:latest",
"cpu": 1024,
"memory": 1024,
"essential": true,
"portMappings": [
{ "containerPort": ${container_port}, "protocol": "tcp" }
],
"networkMode": "awsvpc"
},
{
"name": "kafka",
"image": "ches/kafka:latest",
"environment": [
{ "name": "ZOOKEEPER_IP", "value": "${service_name}" }
],
"cpu": 1024,
"memory": 1024,
"essential": true,
"networkMode": "awsvpc"
}
]
【问题讨论】:
标签: amazon-web-services docker terraform amazon-ecs