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

Docker

170.5K
137K
+ 1
3.9K
KVM

177
227
+ 1
8
Add tool

Docker vs KVM: What are the differences?

Docker vs KVM

Docker and KVM are both popular virtualization technologies used in the world of cloud computing. While both provide isolation for running applications, there are key differences between them that make each suitable for specific use cases.

  1. Containerization vs Hypervisor: Docker uses containerization, which allows applications to be packaged with all the necessary dependencies and run in isolated environments called containers. On the other hand, KVM (Kernel-based Virtual Machine) uses a hypervisor to create and manage separate virtual machines that mimic the underlying hardware.

  2. Resource Efficiency: Docker is known for its lightweight design, enabling it to utilize system resources more efficiently compared to KVM. With containerization, Docker shares the host OS and kernel among multiple containers, resulting in faster startup times and lower resource overhead.

  3. Isolation Level: KVM provides a higher level of isolation between virtual machines by emulating separate hardware resources for each VM. In contrast, Docker containers share the underlying host OS and kernel, which may lead to potential security risks if proper measures are not taken.

  4. Application Portability: Docker offers excellent application portability by packaging dependencies and configurations into portable containers. These containers can be easily moved between different environments, such as development, testing, and production, without any compatibility issues. KVM, on the other hand, requires the entire VM image and configuration to be migrated, which can be more complex and time-consuming.

  5. Performance: As Docker containers share the host OS and kernel, they tend to have better overall performance compared to KVM virtual machines. The reduced overhead of virtualization allows applications to run at near-native speed, making Docker well-suited for high-performance workloads.

  6. Management and Deployment: Docker provides a robust set of tools for managing and deploying applications, such as Docker Compose for defining multi-container environments and Docker Swarm for orchestrating and scaling container clusters. KVM, on the other hand, requires more traditional management and deployment tools, often involving manually configuring VMs and managing complex networking setups.

In summary, Docker and KVM offer different approaches to virtualization. Docker provides lightweight containerization for efficient resource utilization and easy application portability, while KVM delivers higher isolation and a more traditional virtual machine model. The choice between them depends on specific requirements, performance needs, and the desired level of isolation for the applications being deployed.

Decisions about Docker and KVM
Florian Sager
IT DevOp at Agitos GmbH · | 3 upvotes · 418.7K 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
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Docker
Pros of KVM
  • 823
    Rapid integration and build up
  • 691
    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
    Easy setup
  • 6
    Fast and Portable
  • 5
    Because its fun
  • 4
    Makes shipping to production very simple
  • 3
    Highly useful
  • 3
    It's dope
  • 2
    Very easy to setup integrate and build
  • 2
    HIgh Throughput
  • 2
    Package the environment with the application
  • 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
    Super
  • 0
    Asdfd
  • 4
    No license issues
  • 2
    Very fast
  • 2
    Flexible network options

Sign up to add or upvote prosMake informed product decisions

Cons of Docker
Cons of KVM
  • 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 KVM?

    KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).

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

    What companies use Docker?
    What companies use KVM?
    See which teams inside your own company are using Docker or KVM.
    Sign up for StackShare EnterpriseLearn More

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

    What tools integrate with Docker?
    What tools integrate with KVM?

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

    Blog Posts

    PythonDockerKubernetes+7
    3
    1105
    PythonDockerKubernetes+14
    12
    2608
    Jul 9 2019 at 7:22PM

    Blue Medora

    DockerPostgreSQLNew Relic+8
    11
    2338
    DockerAmazon EC2Scala+8
    6
    2716
    GitHubDockerReact+17
    40
    36314
    What are some alternatives to Docker and KVM?
    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