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


+ 1

+ 1
Add tool

Docker vs LXC: What are the differences?

Docker is a containerization platform that provides a lightweight and efficient way to package and deploy applications. LXC (Linux Containers) is an operating system-level virtualization method that enables the creation and management of lightweight system containers. Here are the key differences between Docker and LXC:

  1. Abstraction Level: Docker operates at a higher level of abstraction compared to LXC. Docker provides a platform for building and running containers using a simplified and user-friendly approach. It abstracts away many low-level details, allowing developers to focus on packaging and deploying applications. LXC, on the other hand, provides a more low-level containerization solution that gives users more direct access and control over the underlying Linux operating system.

  2. Image Management: Docker introduces the concept of Docker images, which are lightweight, portable, and self-contained units that encapsulate an application and its dependencies. Docker images can be easily versioned, shared, and distributed through Docker registries. LXC, on the other hand, does not have a built-in image management system like Docker. LXC containers typically rely on full-fledged Linux distributions or pre-existing system images, making them less portable and more reliant on traditional package management tools.

  3. Networking and Orchestration: Docker provides a robust networking model that allows containers to communicate with each other and the host system through virtual networks and port mappings. Docker also offers built-in tools for container orchestration and deployment, such as Docker Compose and Kubernetes integration. LXC does not provide the same level of built-in networking and orchestration features as Docker.

  4. Ecosystem and Community: Docker has a vibrant and extensive ecosystem with a large community of developers and a rich set of tools and services built around it. It has become the de facto standard for containerization, widely adopted by organizations and supported by major cloud providers. LXC, while still actively maintained, has a smaller ecosystem and community compared to Docker. It is often used by users who require more fine-grained control over their containers.

In summary, Docker provides a higher level of abstraction, simplified image management, robust networking, and a thriving ecosystem, making it suitable for a wide range of containerized applications and deployments. LXC, on the other hand, offers a more lightweight and low-level containerization solution, providing users with direct access to the Linux operating system and allowing for more customized setups.

Decisions about Docker and LXC
Florian Sager
IT DevOp at Agitos GmbH · | 3 upvotes · 398.2K views

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 LXC
  • 823
    Rapid integration and build up
  • 691
  • 521
    Open source
  • 505
    Testa­bil­i­ty and re­pro­ducibil­i­ty
  • 460
  • 218
  • 185
  • 106
    Upgrading / down­grad­ing / ap­pli­ca­tion versions
  • 88
  • 85
    Private paas environments
  • 34
  • 26
    Limit resource usage
  • 17
    Game changer
  • 16
    I love the way docker has changed virtualization
  • 14
  • 12
  • 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
  • 0
  • 5
    Easy to use
  • 4
  • 3
    Simple and powerful
  • 3
    Good security
  • 2
  • 1
  • 1

Sign up to add or upvote prosMake informed product decisions

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

    - No public GitHub repository available -

    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 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.

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

    What companies use Docker?
    What companies use LXC?
    See which teams inside your own company are using Docker or LXC.
    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 LXC?

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

    Blog Posts

    Jul 9 2019 at 7:22PM

    Blue Medora

    DockerPostgreSQLNew Relic+8
    DockerAmazon EC2Scala+8
    What are some alternatives to Docker and LXC?
    Rocket is a cli for running App Containers. The goal of rocket is to be composable, secure, and fast.
    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 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.
    Red Hat 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