Docker
Docker

22.2K
3.7K
6.2K
Vagrant
Vagrant

4.2K
1.5K
452
Add tool

What is Docker?

Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.

What is Vagrant?

Vagrant provides the framework and configuration format to create and manage complete portable development environments. These development environments can live on your computer or in the cloud, and are portable between Windows, Mac OS X, and Linux.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Docker?
Why do developers choose Vagrant?
What are the cons of using Docker?
What are the cons of using Vagrant?
What companies use Docker?
What companies use Vagrant?
What are some alternatives to Docker and Vagrant?
LXC
LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.
rkt
Rocket is a cli for running App Containers. The goal of rocket is to be composable, secure, and fast.
Kubernetes
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
Cloud Foundry
Cloud Foundry is an open platform as a service (PaaS) that provides a choice of clouds, developer frameworks, and application services. Cloud Foundry makes it faster and easier to build, test, deploy, and scale applications.
OpenShift
OpenShift is Red Hat's Cloud Computing Platform as a Service (PaaS) offering. OpenShift is an application platform in the cloud where application developers and teams can build, test, deploy, and run their applications.
See all alternatives
What tools integrate with Docker?
What tools integrate with Vagrant?
Decisions about Docker and Vagrant
No stack decisions found
Interest over time
Reviews of Docker and Vagrant
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 Docker and Vagrant
Avatar of Airbnb
Airbnb uses VagrantVagrant

"The best way to ensure that local testing was possible was to normalize people’s dev environments. For this we chose Vagrant. This, combined with Chef, allows us to do our local dev in sandboxed Linux instances running locally via VirtualBox in a configuration as similar to production as possible. In addition to making dev environment setup much easier than it used to be, this ensures that each engineer has a consistent environment that is ready to run tests out of the box. The user SSHs into the local linux server and runs spec commands like they would on their host OS, and generally everything Just Works. Most people on our team combine this with Zeus, which allows the Rails environment to be preloaded for lightning fast (relatively speaking) test runs. Both Vagrant and Zeus have their share of issues, but in practice we’ve found them to be a huge time saver."

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 Josh Habdas
Josh Habdas uses DockerDocker

Docker is used for local development along with boot2docker and VirtualBox as described in Simple websites with Jekyll and Docker. It's also used on the server to build and house the site. Additionally the container is hosted free with automated builds on DockerHub.

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 GHA Technologies
GHA Technologies uses VagrantVagrant

Not blazing fast but we pick Vagrant for all our projects because the console mode without gui leads to a low consumption of ram memory making it the best way for DevOps ready environment requiring less configuration.

Avatar of Cyrus Stoller
Cyrus Stoller uses VagrantVagrant

Vagrant allows me to ensure that anyone I'm collaborating with will be able to test my web application in the same environment. I also use Vagrant to setup VMs that I can use to refine my Capistrano recipes.

Avatar of Dynamictivity
Dynamictivity uses VagrantVagrant

We use Virtualbox in combination with Vagrant during development to ensure a consistent test/development environment. This helps to reduce the number of defects when our software goes to production.

Avatar of Software Antelope
Software Antelope uses VagrantVagrant

Building development environments that closely match real world web environments, enabling more rapid and accurate testing and development.

How much does Docker cost?
How much does Vagrant cost?
Pricing unavailable
Pricing unavailable