增加AWS ECS任务定义保留端口限制

时间:2016-08-08 23:48:12

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

我正在尝试使用aws的ecs服务设置一个docker容器。我想在主机上保留端口30000 - 60000,并将这些端口映射到容器上的30000 - 60000。但是,Aws文档指出主机上只能保留100个端口:

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html

任何人都可以解释为什么有限制/建议解决方法?

1 个答案:

答案 0 :(得分:1)

我很确定100端口限制将归因于the way Docker maps ports

Docker每个映射端口启动一个Go进程,该进程将使用4-6MB的私有内存。因此,在100个端口,Docker进程将消耗大约500MB的内存。

如果您尝试将所有30000 - 60000端口映射到容器,则需要~150GB的内存。如果你想要UDP和TCP,则为300GB。

如果 使用那么多端口,那么您需要开始使用--net=host,桥接或mapping interfaces directly进入容器。这不太可能得到ECS的支持(在EC2上,我必须从VPC接口和put it on the containers interface获取“真实”MAC地址。)