因此,对于要在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"
}
]
答案 0 :(得分:0)
对于其余的设置我还不够了解,无法给出具体的建议,但是有一些选择:
有些帖子描述了一些替代方法。这是一个: