dockerlxc

Difference between LXC and libcontainer


While going through docker docs, I found that docker is now using libcontainer instead of LXC. Has anyone idea about how libcontainer is better (if so..) than LXC ?


Solution

  • http://blog.docker.com/wp-content/uploads/2014/03/docker-execdriver-diagram.png

    That means Docker is abstracting itself from its original implementation, allowing other vendors (like CoreOS) to implement their own version of containers.


    Note: since then (What’s the difference between runc, containerd, docker?) shows:

    In 2016 the container space was booming and docker decided to split the monolith into separate parts, some of which other projects can even build on — that’s how containerd happened. That was Docker 1.11 (so pretty much ancient history).
    Containerd is a daemon that acts as API facade for various container runtimes and OS. When using containerd, you no longer work with syscalls, instead you work with higher-level entities like snapshot and container — the rest is abstracted away.
    If you want to understand containerd even more in depth, there’s a design documentation in their GitHub repo.
    Under the hood, containerd uses runc to do all the linux work.

    See more at "How containerd compares to runC"

    containerd