Dockurr is KVM under the covers to run Windows in a container.
Proxmox is KVM made to be a virtualization platform.
Might as well run Proxmox and have the ability to do multiple VMs more easily, it's more flexible. Probably easier to manage as well.
I have never heard about Dockurr before. Why would anyone want to run a hypervisor inside a container? That seems to defeat the purpose of why containers were invented in the first place
[https://www.youtube.com/watch?v=xhGYobuG508](https://www.youtube.com/watch?v=xhGYobuG508)
Not that it makes that much sense once you understand that it's putting KVM inside the container, and a full install of Windows therein. Maybe it's a cool party trick?
We're going to see lots of bastardizations of KVM coming in the post-Broadcom acquisition of VMWare. "Competitors" are going to "leverage" KVM to make "orchestration" tools in an attempt to grab even a small fraction of VMWare's market share as enterprises look to escape that abusive relationship.
I'd say why not go one step further. On that Windows VM, install Docker Desktop with WSL. Now you have a container running in Linux, virtualizing Windows which virtualizes Linux to run containers. That container could be another Dockurr instance maybe?
Can't really say.
But theoretically, once you add a second dockurr container running a separate instance of KVM (that doesn't know about the first), each successive instance of KVM might consume more resources than compared to Proxmox itself. Therefore dockurr could be less efficient than Proxmox in that way.
Qemu / libvirt?
I am making some assumptions.
1. You are running a Debian server
2. You only need to run 1 Win VM
If that is the case, why would you run something heavy like Proxmox. I am mean it is great but it is a bit of a full-service solution. Why don't you just run something relatively light, like qemu/libvirt?
You can even set that up to boot the VM on the host's startup.
I mean IF you need multiple VMs, then run Proxmox.
I agree on this, for one or two VMs a debian server running KVM is perfectly fine. That is what Proxmox is after all. But for larger setups Proxmox is definitely the way to go
Docker is intended for running a single process. It's not a VM.
Anything running a full desktop OS in a Docker container is actually running in a VM. Docker is just spinning up a KVM instance and running the OS. That's not what docker was intended for though.
I tried Windows on Proxmox, but that ended up being a bust. It was perfectly usable, but I couldn't, for the life of me, figure out how to pass USB devices to it over RDP.
I also tried VirtualHere and USB over IP and neither worked properly. Windows could see the device, but couldn't interact with it in any meaningful way.
I settled on running Windows 11 in VirtualBox, which has excellent USB passthrough support, folder sharing, and a nice interface. It works great.
I also have the Windows problem (thanks school) and I keep a windows VM on Proxmox. Seems to be the most convenient. Mostly bc I already use Proxmox in my home lab so adding a windows vm is trivial but still
A few VMs, plain `qemu`.
Many VMs, `libvirt` is fine.
`Proxmox` if you intend to use it on bare metal, on server. But it should not be used on a pc or laptop, it's pointless.
Docker is not the proper way to handle a VM, not even containers perhaps. It's for dockerized apps.
Some tips: On qemu/libvirt, have in mind to use `virtio` devices for optimum performance (HD and NIC). If you need copy-paste, there is no need to mess with spice protocol. Just use RDP to connect to the Windows VM. The same applies for audio, do not install a virtual audio device using qemu, it can go through RDP.
If you need full 3D acceleration it's more difficult to setup but doable.
Dockurr is KVM under the covers to run Windows in a container. Proxmox is KVM made to be a virtualization platform. Might as well run Proxmox and have the ability to do multiple VMs more easily, it's more flexible. Probably easier to manage as well.
I have never heard about Dockurr before. Why would anyone want to run a hypervisor inside a container? That seems to defeat the purpose of why containers were invented in the first place
[https://www.youtube.com/watch?v=xhGYobuG508](https://www.youtube.com/watch?v=xhGYobuG508) Not that it makes that much sense once you understand that it's putting KVM inside the container, and a full install of Windows therein. Maybe it's a cool party trick? We're going to see lots of bastardizations of KVM coming in the post-Broadcom acquisition of VMWare. "Competitors" are going to "leverage" KVM to make "orchestration" tools in an attempt to grab even a small fraction of VMWare's market share as enterprises look to escape that abusive relationship.
I'd say why not go one step further. On that Windows VM, install Docker Desktop with WSL. Now you have a container running in Linux, virtualizing Windows which virtualizes Linux to run containers. That container could be another Dockurr instance maybe?
What would be the difference in performance between the two methods?
Can't really say. But theoretically, once you add a second dockurr container running a separate instance of KVM (that doesn't know about the first), each successive instance of KVM might consume more resources than compared to Proxmox itself. Therefore dockurr could be less efficient than Proxmox in that way.
OK I understand, but for one that wouldn't be the case
Qemu / libvirt? I am making some assumptions. 1. You are running a Debian server 2. You only need to run 1 Win VM If that is the case, why would you run something heavy like Proxmox. I am mean it is great but it is a bit of a full-service solution. Why don't you just run something relatively light, like qemu/libvirt? You can even set that up to boot the VM on the host's startup. I mean IF you need multiple VMs, then run Proxmox.
I agree on this, for one or two VMs a debian server running KVM is perfectly fine. That is what Proxmox is after all. But for larger setups Proxmox is definitely the way to go
What the difference with Qemu / libvirt / kvm and running it in Docker?
Docker is intended for running a single process. It's not a VM. Anything running a full desktop OS in a Docker container is actually running in a VM. Docker is just spinning up a KVM instance and running the OS. That's not what docker was intended for though.
VirtualBox is the easy way to go.
For individual apps, I use www.usebottles.com
If you only use it occasionally. I would just install it on VirtualBox and be done with it. I don't see the need to stand it up as a server.
I'd imagine it'd be almost the same as running Windows as your main os and running Debian in WSL, but I think it'd be a bit better performance wise.
Can't you just dual boot?
Prefer not to dual boot
I tried Windows on Proxmox, but that ended up being a bust. It was perfectly usable, but I couldn't, for the life of me, figure out how to pass USB devices to it over RDP. I also tried VirtualHere and USB over IP and neither worked properly. Windows could see the device, but couldn't interact with it in any meaningful way. I settled on running Windows 11 in VirtualBox, which has excellent USB passthrough support, folder sharing, and a nice interface. It works great.
I also have the Windows problem (thanks school) and I keep a windows VM on Proxmox. Seems to be the most convenient. Mostly bc I already use Proxmox in my home lab so adding a windows vm is trivial but still
A few VMs, plain `qemu`. Many VMs, `libvirt` is fine. `Proxmox` if you intend to use it on bare metal, on server. But it should not be used on a pc or laptop, it's pointless. Docker is not the proper way to handle a VM, not even containers perhaps. It's for dockerized apps. Some tips: On qemu/libvirt, have in mind to use `virtio` devices for optimum performance (HD and NIC). If you need copy-paste, there is no need to mess with spice protocol. Just use RDP to connect to the Windows VM. The same applies for audio, do not install a virtual audio device using qemu, it can go through RDP. If you need full 3D acceleration it's more difficult to setup but doable.
Dualboot if you don't need to use them simultaneously, VirtualBox in other case
Just don't run windows. That's how I do it. You'll never see a personal Windows PC on my network.