Ansible vs Docker

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Ansible
Ansible

4.9K
3.5K
+ 1
1.2K
Docker
Docker

26.4K
20.7K
+ 1
3.8K
Add tool

Ansible vs Docker: What are the differences?

What is Ansible? Radically simple configuration-management, application deployment, task-execution, and multi-node orchestration engine. Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.

What is Docker? Enterprise Container Platform for High-Velocity Innovation. The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application ‚ÄĒ from legacy to what comes next ‚ÄĒ and securely run them anywhere.

Ansible and Docker are primarily classified as "Server Configuration and Automation" and "Virtual Machine Platforms & Containers" tools respectively.

Some of the features offered by Ansible are:

  • Ansible's natural automation language allows sysadmins, developers, and IT managers to complete automation projects in hours, not weeks.
  • Ansible uses SSH by default instead of requiring agents everywhere. Avoid extra open ports, improve security, eliminate "managing the management", and reclaim CPU cycles.
  • Ansible automates app deployment, configuration management, workflow orchestration, and even cloud provisioning all from one system.

On the other hand, Docker provides the following key features:

  • Integrated developer tools
  • open, portable images
  • shareable, reusable apps

"Agentless", "Great configuration " and "Simple" are the key factors why developers consider Ansible; whereas "Rapid integration and build up", "Isolation" and "Open source" are the primary reasons why Docker is favored.

Ansible and Docker are both open source tools. It seems that Docker with 53.8K GitHub stars and 15.5K forks on GitHub has more adoption than Ansible with 37.8K GitHub stars and 15.8K GitHub forks.

Lyft, StackShare, and Shopify are some of the popular companies that use Docker, whereas Ansible is used by PedidosYa, Keen, and New Relic. Docker has a broader approval, being mentioned in 3471 company stacks & 3322 developers stacks; compared to Ansible, which is listed in 955 company stacks and 578 developer stacks.

What is Ansible?

Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.

What is Docker?

The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application ‚ÄĒ from legacy to what comes next ‚ÄĒ and securely run them anywhere
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Ansible?
Why do developers choose Docker?

Sign up to add, upvote and see more prosMake informed product decisions

What companies use Ansible?
What companies use Docker?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Ansible?
What tools integrate with Docker?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Ansible and Docker?
Puppet Labs
Puppet is an automated administrative engine for your Linux, Unix, and Windows systems and performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.
Chef
Chef enables you to manage and scale cloud infrastructure with no downtime or interruptions. Freely move applications and configurations from one cloud to another. Chef is integrated with all major cloud providers including Amazon EC2, VMWare, IBM Smartcloud, Rackspace, OpenStack, Windows Azure, HP Cloud, Google Compute Engine, Joyent Cloud and others.
Salt
Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds. Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.
Terraform
With Terraform, you describe your complete infrastructure as code, even as it spans multiple service providers. Your servers may come from AWS, your DNS may come from CloudFlare, and your database may come from Heroku. Terraform will build all these resources across all these providers in parallel.
Jenkins
In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.
See all alternatives
Decisions about Ansible and Docker
No stack decisions found
Interest over time
Reviews of Ansible and Docker
Avatar of gdi2290
Co-Founder and CTO at Tipe
Review ofDockerDocker

Docker is the new kid on the block disrupting virtualization nowadays. You're able to save up to 70% of your development cost on AWS (or any other cloud) switching to Docker. For example instead of paying for many small VMs you can spin up a large one with many Docker containers to drastically lower your cost. That alone is only one of the reasons why Docker is the future and it's not even the best feature: isolation, testa­bil­i­ty, re­pro­ducibil­i­ty, standardization, security, and upgrading / down­grad­ing / ap­pli­ca­tion versions to name a few. You can spin up 1000's of Docker containers on an ordinary Laptop, but you would have trouble spinning up 100's of VMs. If you haven't already checked out Docker you're missing out on a huge opportunity to join the movement that will change development/production environments forever

Review ofDockerDocker

The support for macOS is a fake.

I can't work with docker in macOS because de network and comunications with the container don't works correctly.

How developers use Ansible and Docker
Avatar of Cloudcraft
Cloudcraft uses AnsibleAnsible

Ansible is the deployment tool for people who don't like deployment tools. It's close to scripting, doesn't pollute your servers with agents or centralized servers, and just makes immediate sense. The entire stack at Cloudcraft.co is orchestrated by Ansible. What does that mean? Beyond the obvious of installing packages and configuring services, Ansible coordinates all the machines into a working deployment: It adds API servers to the loadbancer pool, opens ports on the DB server for the backend servers to connect, gracefully upgrades services in a rolling fashion for zero-downtime deployments etc. And it's so easy to use, it's easier to use than doing things by hand, meaning it's a deployment tool you'll actually use every time!

Avatar of ssshake
ssshake uses DockerDocker

Currently experimenting. The idea is to isolate any services where I'm not confident yet in their security/quality. The hope is that if there is an exploit in a given service that an attacker won't be able break out of the docker container and cause damage to my systems.

An example of a service I would isolate in a docker container would be a minecraft browser map application I use. I don't know who wrote it, I don't know who's vetting it, I don't know the source code. I would feel a lot better putting this in a container before I expose it to the internet.

I believe I will follow this process for anything that's not properly maintained (not in an trusted apt-repo or some other sort of confidence)

Avatar of AngeloR
AngeloR uses DockerDocker

We are testing out docker at the moment, building images from successful staging builds for all our APIs. Since we operate in a SOA (not quite microservices), developers have a dockerfile that they can run to build the entirety of our api infrastructure on their machines. We use the successful builds from staging to power these instances allowing them to do some more manual integration testing across systems.

Avatar of Yaakov Gesher
Yaakov Gesher uses DockerDocker

Each component of the app was launched in a separate container, so that they wouldn't have to share resources: the front end in one, the back end in another, a third for celery, a fourth for celery-beat, and a fifth for RabbitMQ. Actually, we ended up running four front-end containers and eight back-end, due to load constraints.

Avatar of sapslaj
sapslaj uses DockerDocker

Linux containers are so much more lightweight than VMs which is quite important for my limited budget. However, Docker has much more support and tooling for it unlike LXC, hence why I use it. rkt is interesting, although I will probably stick with Docker due to being more widespread.

Avatar of Packet
Packet uses DockerDocker

We are running primarily as a micro-services platform and Docker lets us iterate on these smaller units consistently from dev to staging to production. It is also integral to our continuous deployment system for rolling out or rolling back new features.

Avatar of Scrayos UG (haftungsbeschränkt)
Scrayos UG (haftungsbeschränkt) uses AnsibleAnsible

We use Ansible to synchronize the few configuration-options we've taken on our CoreOS-Machines. This makes deployment even easier and the fact that it's Agentless made the decision even easier.

Avatar of Bob P
Bob P uses AnsibleAnsible

Ansible is used in both the development and production deployment process. A playbook couple with a Vagrantfile, easy deploys a local virtual machine that will mirror the setup in production.

Avatar of sapslaj
sapslaj uses AnsibleAnsible

I use Ansible to manage the configuration between all of the different pieces of equipment, and because it's agentless I can even manage things like networking devices all from one repo.

Avatar of B√Ļi Thanh
B√Ļi Thanh uses AnsibleAnsible
  • Configuration management:
    • deploy/install all web/app environments
    • simple with Galaxy and playbooks.
  • No need any pre-installed agent on remote servers.
How much does Ansible cost?
How much does Docker cost?
Pricing unavailable