Virtualization
Docker and Proxmox solve different problems.
The right answer depends on what you want to do. Proxmox is very good for managing VMs and hardware-level isolation, while Docker is ideal for lightweight service deployment.
Quick comparison
Docker
Best for application-level isolation, containers, and rapid deployment of self-hosted services.
Proxmox
Best for virtualization, VM management, and a more infrastructure-first homelab setup.
The practical blend
Many labs use VMs for the core services and containers inside those VMs for flexibility and convenience.
What can you run on Proxmox?
Proxmox VE is a virtualization platform, not an app bundle. Install it on a server, then create virtual machines (VMs) or Linux containers (LXC) for the services you want. A VM runs its own guest operating system and offers stronger isolation; an LXC container shares the host's Linux kernel and is generally lighter. Choose based on each service's requirements and your comfort maintaining it.
Pi-hole
Run network-wide DNS filtering in a small Linux VM or LXC container. Give it a stable address and configure your router or DHCP server to hand that address to clients for DNS.
Home Assistant
Run Home Assistant OS in a dedicated VM for its integrated add-on and backup workflow. If you use USB radios such as Zigbee or Z-Wave adapters, plan USB passthrough and verify it after host or VM changes.
Minecraft servers
Use a Linux VM or container for a Java server, or a separate VM for stronger isolation and simpler resource boundaries. Allocate memory and CPU for the world and player count, keep regular world backups, and only expose the required game port.
More home services
Host media tools, file sync, password managers, monitoring, and development environments in separate VMs or containers. Group related lightweight apps in a Docker VM if you prefer managing them with Compose.
Takeaway
If you are just getting started, a single Proxmox host with a small number of clearly scoped VMs is a practical way to learn virtualization. Add Docker inside a Linux VM when you want lightweight app deployment and modular service management.