Hacker News new | ask | show | jobs
by Operyl 457 days ago
> reached docker in terms of virtualization

Except docker, on its own without something else in the stack, isn't Virtualization.

2 comments

Not arguing this again, go edit the wikipedia article if you are so confident
Docker is kernel virtualisation. Are you thinking of OS virtualisation, like a VM?
Docker does not virtualize the kernel, in fact the kernel version “inside” Docker is the same as the host.
Virtualization usually refers to OS/ device emulation in software. Docker uses kernel namespaces which is an entirely unrelated feature.
I find it funny how some obtuse devs are unable to use abstraction in software of all things.
Docker is OS-level virtualization. VMs are hardware virtualization. Different layers.
It’s not virtualization, it’s namespaces. Docker makes use of Linux kernel features; started out with cgroups and now uses libcontainer. Each container is running in its own isolated(ish) namespace on the same host kernel.

It’s _very_ different technology than virtualization.

You don’t need docker to make a container on Linux (or Solaris for that matter).

>It’s not virtualization

You are incorrect, this is OS-level virtualization:

"OS-level virtualization is an operating system (OS) virtualization paradigm in which the kernel allows the existence of multiple isolated user space instances, including containers (LXC, Solaris Containers, AIX WPARs, HP-UX SRP Containers, Docker, Podman)..."[0].

>it’s namespaces. Docker makes use of Linux kernel features; started out with cgroups and now uses libcontainer. Each container is running in its own isolated(ish) namespace on the same host kernel.

Yes, OS-level virtualization.

>It’s _very_ different technology than virtualization.

Incorrect, this is a virtualization technology.

>You don’t need docker to make a container on Linux (or Solaris for that matter).

No one claimed otherwise.

[0] https://en.m.wikipedia.org/wiki/OS-level_virtualization

That isn't even true, you share your host kernel. There are parts of the kernel that aren't namespaced as well. The kernel keyring is probably the big one.
>That isn't even true

You are incorrect, this is true:

"OS-level virtualization is an operating system (OS) virtualization paradigm in which the kernel allows the existence of multiple isolated user space instances, including containers (LXC, Solaris Containers, AIX WPARs, HP-UX SRP Containers, Docker, Podman)..."[0].

>you share your host kernel

Kernel != OS

>There are parts of the kernel that aren't namespaced as well. The kernel keyring is probably the big one.

Immaterial.

[0] https://en.m.wikipedia.org/wiki/OS-level_virtualization

You can call it what you want but absolutely no one considers chroot virtualization in any meaningful sense. Nothing is being virtualized, containers are just regular processes on the host system.

"OS Virtualization" != "OS" "Virtualization"

1st of all yes, many people consider not only chroot to be virtualization (of the file system). Yes it is arguable as it is the birth of lightweight virtualization. But you were wrong in saying no one does.

https://papers.freebsd.org/2000/phk-jails/

https://youtu.be/hgN8pCMLI2U?si=CH-Fpyj16bEWDZzc

2nd containers go farther and virtualize network, and other resources.

>You can call it what you want

I call it as it is.

>but absolutely no one considers chroot virtualization in any meaningful sense.

Absolutely everyone who's knowledgable in virtualization considers chroot to be a type of OS-level virtualization.

>Nothing is being virtualized, containers are just regular processes on the host system.

Wrong, "...OS-level virtualization is an operating system (OS) virtualization paradigm in which the kernel allows the existence of multiple isolated user space instances..."

"OS Virtualization" == "OS " + "Virtualization"