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

Docker

174.1K
139.9K
+ 1
3.9K
VirtualBox

30.7K
25.3K
+ 1
1.1K
Add tool

Docker vs VirtualBox: What are the differences?

Introduction

In the world of virtualization, Docker and VirtualBox are commonly used tools. While they serve similar purposes, there are key differences between the two that set them apart.

  1. Resource Overhead: Docker uses the host system's kernel and shares the resources of the operating system, resulting in lower overhead compared to VirtualBox, which requires a full virtualized operating system for each instance.

  2. Isolation Level: Docker containers provide lightweight isolation through namespaces and cgroups, making them faster and more efficient than VirtualBox VMs, which require complete separation of resources.

  3. Portability: Docker containers are highly portable as they can run on any system with Docker installed, whereas VirtualBox VMs are more restricted in terms of portability due to the necessary virtual machine setup.

  4. Startup Time: Docker containers have significantly faster startup times compared to VirtualBox VMs since they do not need to boot an entire operating system.

  5. Image Size: Docker images are usually smaller in size compared to VirtualBox VM images because they only contain the necessary components and dependencies for the application to run.

  6. Use Case: Docker is typically used for microservices architecture and application containerization, while VirtualBox is more suitable for running multiple operating systems concurrently for purposes like testing or development.

In Summary, Docker and VirtualBox have distinct differences in terms of resource overhead, isolation level, portability, startup time, image size, and use case.

Decisions about Docker and VirtualBox
Florian Sager
IT DevOp at Agitos GmbH · | 3 upvotes · 452.3K views
Chose
LXDLXD
over
DockerDocker

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.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Docker
Pros of VirtualBox
  • 823
    Rapid integration and build up
  • 692
    Isolation
  • 521
    Open source
  • 505
    Testa­bil­i­ty and re­pro­ducibil­i­ty
  • 460
    Lightweight
  • 218
    Standardization
  • 185
    Scalable
  • 106
    Upgrading / down­grad­ing / ap­pli­ca­tion versions
  • 88
    Security
  • 85
    Private paas environments
  • 34
    Portability
  • 26
    Limit resource usage
  • 17
    Game changer
  • 16
    I love the way docker has changed virtualization
  • 14
    Fast
  • 12
    Concurrency
  • 8
    Docker's Compose tools
  • 6
    Fast and Portable
  • 6
    Easy setup
  • 5
    Because its fun
  • 4
    Makes shipping to production very simple
  • 3
    It's dope
  • 3
    Highly useful
  • 2
    Does a nice job hogging memory
  • 2
    Open source and highly configurable
  • 2
    Simplicity, isolation, resource effective
  • 2
    MacOS support FAKE
  • 2
    Its cool
  • 2
    Docker hub for the FTW
  • 2
    HIgh Throughput
  • 2
    Very easy to setup integrate and build
  • 2
    Package the environment with the application
  • 2
    Super
  • 0
    Asdfd
  • 358
    Free
  • 231
    Easy
  • 169
    Default for vagrant
  • 110
    Fast
  • 73
    Starts quickly
  • 45
    Open-source
  • 42
    Running in background
  • 41
    Simple, yet comprehensive
  • 27
    Default for boot2docker
  • 22
    Extensive customization
  • 3
    Free to use
  • 2
    Mouse integration
  • 2
    Easy tool
  • 2
    Cross-platform

Sign up to add or upvote prosMake informed product decisions

Cons of Docker
Cons of VirtualBox
  • 8
    New versions == broken features
  • 6
    Unreliable networking
  • 6
    Documentation not always in sync
  • 4
    Moves quickly
  • 3
    Not Secure
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    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

    What is VirtualBox?

    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.

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

    What companies use Docker?
    What companies use VirtualBox?
    Manage your open source components, licenses, and vulnerabilities
    Learn More

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

    What tools integrate with Docker?
    What tools integrate with VirtualBox?

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

    Blog Posts

    PythonDockerKubernetes+7
    3
    1151
    PythonDockerKubernetes+14
    12
    2649
    Jul 9 2019 at 7:22PM

    Blue Medora

    DockerPostgreSQLNew Relic+8
    11
    2371
    DockerAmazon EC2Scala+8
    6
    2752
    GitHubDockerReact+17
    41
    37220
    What are some alternatives to Docker and VirtualBox?
    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.
    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.
    See all alternatives