3 ms·
That's just wrong. Please have a look at the LXC or Systemd nspawn websites [1] or our guide to container technology [2] LXC is not 'low level' capabilities as
by tobbyb 11y ago
That's just wrong. Please have a look at the LXC or Systemd nspawn websites [1] or our guide to container technology [2]
LXC is not 'low level' capabilities as Docker erroneously refers to it on its website or a 'low level api'. [3]
The LXC project in development since 2009 on which Docker was based, and now Systemd-nspawn give you pretty advanced OS containers with mature management tools, full stack linux networking, multiple storage options including support for btrfs, zfs, LVM, Overlayfs, cloning, snapshotting and a wide choice of container OS templates.
It also offers unprivileged containers that let's non root users run containers, which is a big step forward for container security, and is currently working on live migration of containers.
Docker takes that as a base, limits the container OS template to a single app, builds the containers with layers of aufs and enforces storage separation. [4] It's not rocket science, you can do this yourself with overlayfs and LXC in minutes. [5]
Docker is an opinionated way to use containers. You don't need to adopt Docker to get the benefits of containers. You adopt Docker to get the benefits of Docker. A lot of the messaging, hype and marketing conflates the 2 and it suits the docker ecosystem to do that but it does not benefit informed discussion.
Nspawn is a systemd container project, which is similar to LXC in that it gives you OS containers, not layered single app containers. Rkt is based on Nspawn if I am not mistaken.
It's curious that LXC project largely responsible for the development of most of the container technology available today is not part of this. I feel most folks who can move beyond the wild misconceptions floating around to try LXC will find it's significantly simpler to use.
We provide a lightweight VM image with a complete LXC environment based on Alpine Linux for those who are interested. It's 80 MB and available for Virtualbox, VMWare and KVM at https://www.flockport.com/flockbox https://www.flockport.com/flockbox
Disclosure I run flockport.com which provides an app store for servers based on LXC.
[1] https://linuxcontainers.org https://linuxcontainers.org
[2] https://www.flockport.com/a-new-users-guide-to-container-technology/ https://www.flockport.com/a-new-users-guide-to-container-tec...
[3] https://www.flockport.com/guides https://www.flockport.com/guides
[4] https://www.flockport.com/lxc-vs-docker https://www.flockport.com/lxc-vs-docker
[5] https://www.flockport.com/experimenting-with-overlayfs-and-lxc/ https://www.flockport.com/experimenting-with-overlayfs-and-l...
- deleted 11y ago[deleted]
- icebraining 11y agoIt seems you're referring to LXD+LXC as just LXC. That's fine, but I was referring specifically to LXC itself, which is considered low-level (even by their creators). As for nspawnd, it's certainly a good tool, but as far as I know it doesn't define a container format, which is what we were discussing.
- tobbyb 11y agoNo, I was referring to LXC. Did you have look at the links to the LXC website and the container overview? There are plenty of 2 minute screencasts there that show LXC in action. The LXC project does not refer to itself as low level, but ironically Docker which knows exactly what LXC is, does. And the results are these needless misconceptions, which is a tad unfair to the developers of the LXC project. Why would anyone try LXC if they think its 'low level'? LXD extends LXC to add a REST api, multi-host container management and soon live migration. LXC is a full fledged userland project and has been since 2009 when it began development. It is also responsible for driving the development of a lot of the kernel capabilities mainly 'cgroups' and 'namespaces' needed to support containers. That's the 'low level' capabilities that LXC, Docker. Nspawn use to give you containers, but it would be as inaccurate to refer to Docker as 'low level' because it uses these, as it would LXC. A container is simply a file system in a folder that gets booted and works on any underlying Linux filesystem so I am not sure about how conceptually a 'container format' fits there? That's one of the great things about containers. You do not need to think about storage. Simply zip the container folder and move across servers. Containers are completely portable across any Linux system today. But if you are going to use aufs or overlayfs layers to build single apps containers with constrained container OS templates then perhaps there is a need for a format.
- icebraining 11y agoWhen I said they referred to it as low-level, I wasn't just making shit up. From Stéphane Graber's (LXC lead) blog: "Instead, LXD is our opportunity to start fresh. We’re keeping LXC as the great low level container manager that it is. And build LXD on top of it, using LXC’s API to do all the low level work. That achieves the best of both worlds, we keep our low level container manager with its API and bindings but skip using its tools and templates, instead replacing those by the new experience that LXD provides." > A container is simply a file system in a folder that gets booted and works on any underlying Linux filesystem so I am not sure about how conceptually a 'container format' fits there? Well, then maybe you should read TFA? It's all about the creation of a standard 'container format'.