我正在使用AWS ECS来部署我的docker容器组,并且在桥接网络模式下,所有工作都很完美,但性能很慢......
我已经读过这个问题是通过主机网络模式解决的,但是如果我使用它,它会导致容器部署错误(其中一些),“CannotCreateContainerError:Container已经存在”。
寻找错误,我发现这是由容器中的链接(https://github.com/aws/amazon-ecs-agent/issues/185)引起的,但我需要它,
有什么想法吗?
非常感谢!
答案 0 :(得分:2)
解决!
就像那个问题评论一样,网络模式主机不允许容器之间的链接,所以如果你删除它们就可以了。
所以现在我们有一个新问题,容器之间如何通信? easy,指向localhost或127.0.0.1以及他自己的端口(显然你不能使用相同的端口部署两个容器)。
答案 1 :(得分:0)
基本上,Fargate要求使用awsvpc作为网络模式,因此,当使用Fargate启动类型时,您无法在任务定义中使用“dnsSearchDomains,dnsServers,extraHosts,disableNetworking和hostName”。
如果上述任何参数都在您的taskdefinition中,则会出现错误“STOPPED(CannotCreateContainerError:container already exists)”。
然而,ECS团队承认上述功能非常有用,并致力于启用这些参数。