虚拟机
虚拟机(VM)是“电脑里的电脑”。它拥有自己独立的操作系统、虚拟硬盘和虚拟网卡。管理程序(例如 VMware、Proxmox、Hyper-V 或 KVM)负责在多个虚拟机之间分配真实的处理器和内存资源。如果一台虚拟机崩溃或遭到攻击,其他虚拟机依然能正常运行。
容器
容器不需要一整套独立系统,而是与宿主机共享同一个内核,只包含应用程序本身及其依赖库。容器能在一秒内启动,占用空间也很小。Docker 带来了简洁的命令和现成的镜像(image),只需下载并用一行命令即可运行。
该用哪种
- 虚拟机: 当你需要运行不同的操作系统,或需要更强的隔离性时,例如为网站单独设置一台服务器。
- 容器: 当你想快速启动某项服务时,例如数据库、Pi-hole 或 Jellyfin。
- 这个网站本身就运行在一个容器里,而这个容器又运行在自建NAS上的一台虚拟机中。