ECS任务定义中容器间的通信

Edw*_*win 4 amazon-web-services amazon-ecs

我在运行awsvpc模式的ECS 中有一个任务定义,其中包含 2 个 docker 容器。我的问题是如何在任务定义中的容器之间进行通信。它们的行为与 docker-compose 相似吗?

小智 11

awsvpc 网络模式下一个任务中的多个容器将共享任务 ENI 和网络命名空间,因此它们可以使用 localhost(或等效的 127.0.0.1 环回 IP 地址)相互通信。


Adi*_*iii 5

链接概念仅在 AWS ec2 类型服务的情况下有效,您不能在awsvpc网络模式下使用链接。任务之间的链接仅允许在属于同一任务定义一部分的容器中,这意味着您应该在同一任务定义中运行两个容器来创建类似于 docker-compose 的链接。

links
Type: string array

Required: no
Run Code Online (Sandbox Code Playgroud)

link 参数允许容器相互通信,而不需要端口映射。仅当任务定义的网络模式设置为桥接时才受支持。该name:internalName 构造类似于name:aliasDocker 链接。最多允许 255 个字母(大写和小写)、数字、连字符和下划线。

笔记

使用 awsvpc 网络模式的 Windows 容器或任务不支持此参数。

任务定义中的容器链接

如果是 AWS VPC,您可以使用服务发现,这是 AWS 在 AWSvpc 情绪下推荐的方法。