<p>I am just beginning my journey to docker and am trying to put together the image of how to deploy docker to production instances in the cloud. We use ansible for all of our applications deployments currently. However, when I look for information on deploying docker containers I see either references to swarm and kubernetes or what appears to be manual deploys via ssh. </p>

<p>So, my noob question is, how do you deploy docker to your hosts in the cloud? Is there any reason to use ansible? (They have a plugin.) It seems like maybe swarm or kubernetes may just take care of that for us.</p>

<p>I worked on a container based platform 4 years ago and at the time, we used Ansible to deploy containers as orchestration frameworks were non existent. </p>

<p>Nowadays, I would recommend using an orchestration framework (Kubernetes, Docker Swarm, Openshift, etc.) which provides features such as ingress load balancing, lifecycle management, persistent volume management etc.</p>

<p>There are many ways to run containers in public clouds, some implementing orchestration frameworks like Kubernetes, some implementing their own frameworks: azure acs/aks, AWS ECS, Google Container Engine, etc. Docker machine can provision docker swarms in public clouds as well. What's interesting with those is that the underlying VMs are either hiddent or managed for you. </p>

<p>There are many many ways to do it but just using Ansible will be limited to spinning up containers on existing VMs that you'll have to provision and manage.</p>
