I’ve ran Docker in LXC in a KVM before. I used LXC to have multiple containers on a VPS. Then I had to run something that works best with Docker, so I stuck Docker in an LXC.
Windows itself is technically running in a VM if you have Hyper-V enabled (not quite that simple, but that’s a reasonable approximation). Hyper-V is a type 1 hypervisor which means it runs directly on the underlying physical hardware, and both Windows as well as any VMs you create are running on top of Hyper-V.
Using Docker in a VM on a Hypervisor is industry standard, using docker inside of docker may be okay for CI purposes but I wouldn’t do anything more than that in production if it’s not necessary.
The stack from the image above (Windows>WSL> Docker>Minikube>Docker>App) is something you’d use on a dev machine (not a “real”, production-like test environment), in which case you don’t really care about the performance loss
People don’t actually do this, right? Docker inside docker inside a VM inside another VM? On windows? Right???
I’ve ran Docker in LXC in a KVM before. I used LXC to have multiple containers on a VPS. Then I had to run something that works best with Docker, so I stuck Docker in an LXC.
I’m pretty sure docker recommends that it runs under WSL when on windows.
Windows itself is technically running in a VM if you have Hyper-V enabled (not quite that simple, but that’s a reasonable approximation). Hyper-V is a type 1 hypervisor which means it runs directly on the underlying physical hardware, and both Windows as well as any VMs you create are running on top of Hyper-V.
Oh that’s an interesting tidbit, didn’t know that
Yeah, docker in a VM makes sense. Docker in docker in a vm in a vm though?
Yep, can confirm
Isnt that exactly what minikube is? Kubernetes in docker.
I’ve used docker-in-docker images, but its usually not fun.
I’ve seen docker inside a VM before but that was just a dev box for testing
That’s the most reasonable part of the image
Are you not losing loads of performance by stacking vms like that?
Using Docker in a VM on a Hypervisor is industry standard, using docker inside of docker may be okay for CI purposes but I wouldn’t do anything more than that in production if it’s not necessary.
The stack from the image above (Windows>WSL> Docker>Minikube>Docker>App) is something you’d use on a dev machine (not a “real”, production-like test environment), in which case you don’t really care about the performance loss
That’s super standard for actual infrastructure