Need advice about which tool to choose?Ask the StackShare community!
Docker vs VirtualBox: What are the differences?
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; VirtualBox: Run nearly any operating system on a single machine and to freely switch between OS instances running simultaneously. VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL) version 2.
Docker can be classified as a tool in the "Virtual Machine Platforms & Containers" category, while VirtualBox is grouped under "Virtualization Platform".
Some of the features offered by Docker are:
- Integrated developer tools
- open, portable images
- shareable, reusable apps
On the other hand, VirtualBox provides the following key features:
- Portability
- No hardware virtualization required
- Guest Additions: shared folders, seamless windows, 3D virtualization
"Rapid integration and build up", "Isolation" and "Open source" are the key factors why developers consider Docker; whereas "Free", "Easy" and "Default for vagrant" are the primary reasons why VirtualBox is favored.
Docker is an open source tool with 53.8K GitHub stars and 15.5K GitHub forks. Here's a link to Docker's open source repository on GitHub.
According to the StackShare community, Docker has a broader approval, being mentioned in 3471 company stacks & 3322 developers stacks; compared to VirtualBox, which is listed in 721 company stacks and 943 developer stacks.
lxd/lxc and Docker aren't congruent so this comparison needs a more detailed look; but in short I can say: the lxd-integrated administration of storage including zfs with its snapshot capabilities as well as the system container (multi-process) approach of lxc vs. the limited single-process container approach of Docker is the main reason I chose lxd over Docker.
Pros of Docker
- Rapid integration and build up824
- Isolation691
- Open source521
- Testability and reproducibility505
- Lightweight460
- Standardization218
- Scalable185
- Upgrading / downgrading / application versions106
- Security88
- Private paas environments85
- Portability34
- Limit resource usage26
- Game changer17
- I love the way docker has changed virtualization16
- Fast14
- Concurrency12
- Docker's Compose tools8
- Easy setup6
- Fast and Portable6
- Because its fun5
- Makes shipping to production very simple4
- It's dope3
- Highly useful3
- Simplicity, isolation, resource effective2
- MacOS support FAKE2
- Its cool2
- Super2
- Docker hub for the FTW2
- HIgh Throughput2
- Very easy to setup integrate and build2
- Package the environment with the application2
- Does a nice job hogging memory2
- Open source and highly configurable2
Pros of VirtualBox
- Free359
- Easy231
- Default for vagrant169
- Fast110
- Starts quickly73
- Open-source45
- Running in background42
- Simple, yet comprehensive41
- Default for boot2docker27
- Extensive customization22
- Free to use3
- Mouse integration2
- Easy tool2
- Cross-platform2
Sign up to add or upvote prosMake informed product decisions
Cons of Docker
- New versions == broken features8
- Unreliable networking6
- Documentation not always in sync6
- Moves quickly4
- Not Secure3