vagrant/website/source/intro/vs/docker.html.md

35 lines
1.4 KiB
Markdown
Raw Normal View History

2017-03-28 01:19:52 +00:00
---
layout: "intro"
page_title: "Vagrant vs. Docker"
sidebar_current: "vs-docker"
description: |-
Vagrant and Docker both provide isolation primitives. This page details the
differences between them.
---
# Vagrant vs. Docker
2017-03-28 17:38:20 +00:00
Vagrant is a tool focused on providing a consistent development environment
workflow across multiple operating systems. Docker is a container management
2017-03-28 17:38:20 +00:00
that can consistently run software as long as a containerization system exists.
2017-03-28 01:19:52 +00:00
2017-03-28 17:38:20 +00:00
Containers are generally more lightweight than virtual machines, so starting
and stopping containers is extremely fast. Docker uses the native
2018-09-20 21:11:56 +00:00
containerization functionality on macOS, Linux, and Windows.
2017-03-28 01:19:52 +00:00
2017-03-28 17:38:20 +00:00
Currently, Docker lacks support for certain operating systems (such as
BSD). If your target deployment is one of these operating systems,
2017-03-28 17:38:20 +00:00
Docker will not provide the same production parity as a tool like Vagrant.
Vagrant will allow you to run a Windows development environment on Mac or Linux,
as well.
For microservice heavy environments, Docker can be attractive because you
can easily start a single Docker VM and start many containers above that
very quickly. This is a good use case for Docker. Vagrant can do this as well
with the Docker provider. A primary benefit for Vagrant is a consistent workflow
but there are many cases where a pure-Docker workflow does make sense.
Both Vagrant and Docker have a vast library of community-contributed "images"
or "boxes" to choose from.