Amazon Elastic Beanstalk vs EC2 instance with docker containers
AWS has integrated Elastic Beanstalk (EB) with the EC2 Container Service (ECS) to support multi-container Docker environments. An EB environment composed of multiple instances in an autoscaling group can run multiple containers per instance, managed through the ECS agent and its API. Use .ebextensions
to map multiple ELB listeners to the containers running on EC2 instances.
See this tutorial for running an Nginx + PHP-FPM in separate containers.
Thanks @Synturas for tipping me off to this update.
Yes your assumptions are correct. The difference is that for doing it on EC2 you will have to manage and monitor your containers all by yourself. So I guess for production environments you'll have to have your own team for that, or else go with BeanStalk.
Also better follow this Docker on Amazon documentation.
Edit
Thanks for the comment @sajithp I have updated the link