We&#x27;ve been using EC2 Container Service for a few months now and at first glance it appears great but we&#x27;ve ran into quite a few problems using it:<p>- You can only bind 1 port and 1 ELB to a service. This means, for example, if you have nginx listening on port 80 and 443 you need to manually configure the ELB and can&#x27;t take advantage of automatically generated port numbers on the host (So you basically can only have 1 HTTP(s) server on a host)<p>- There is no way to cleanly decommission a host from a cluster. Say if you want to reboot or replace a server in the cluster you can&#x27;t tell ECS to drain connections from the ELB and move the containers off the host<p>- Unable to specify rules for which hosts services should run on. For example you can&#x27;t say that the service needs to make sure it has instances in X AZs or don&#x27;t run multiple instances of the same service on the same host.<p>- No easy way to implement any kind of service discovery, you have to roll this yourself or set up loads of internal ELBs as a sort of service discovery.<p>- Worst of all the ecs-agent is very buggy. It has releases where it just keeps crashing [1] and leaving untracked running containers just hanging around to an issue where they released a new version with a newer docker library that changed how it handled certain parameters causing our entire cluster to fail until they hot fixed it with a change to how their API sent data to the client.<p>We&#x27;re currently looking at alternatives for our docker infrastructure.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;aws&#x2F;amazon-ecs-agent&#x2F;issues&#x2F;156" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;aws&#x2F;amazon-ecs-agent&#x2F;issues&#x2F;156</a>