The best practices for deploying Docker containers in production on Amazon Web Services cloud is to have AWS EC2 container service which lets you start, stop, query and manage container-enabled applications via API and using the rich AWS set of services for security, etc. Puppet Labs also just launched official support for both Docker and AWS as well as bare metal, which should give a good DevOps automation solution based on the popular Puppet framework and a rich library of manifests the "recipes" for installing different types of applications. Kubernetes is another promising path, which Google and Mirantis are now actively pushing to AWS' open source rival OpenStack. You can install it on EC2 just like any other application, though it's not a first-level citizen as AWS' native ECS service. Generally, cloud and DevOps are growing closer, so we're expected to see a growing number of such solutions. If you want to learn AWS and Docker then I will suggest you take these courses from Intellipaat. The reason is that they are the best who provides you with these courses. Here is a video tutorial which you must watch to learn all the basic stuff of Docker and AWS.
Docker:
AWS: