ECS网络主机模式和links = CannotCreateContainerError:Container已存在

时间:2017-06-20 06:27:17

标签: amazon-web-services networking docker containers amazon-ecs

我正在使用AWS ECS来部署我的docker容器组,并且在桥接网络模式下,所有工作都很完美,但性能很慢......

我已经读过这个问题是通过主机网络模式解决的,但是如果我使用它,它会导致容器部署错误(其中一些),“CannotCreateContainerError:Container已经存在”。

寻找错误,我发现这是由容器中的链接(https://github.com/aws/amazon-ecs-agent/issues/185)引起的,但我需要它,

有什么想法吗?

非常感谢!

2 个答案:

答案 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团队承认上述功能非常有用,并致力于启用这些参数。

https://forums.aws.amazon.com/thread.jspa?threadID=250147