如何理解LXD与VM、Docker的区别?

zel*_*ell 5 continuous-integration virtual-machine travis-ci docker lxd

当我使用 Travis-CI 时,我需要在 LXD 和完整 VM 之间进行选择: https: //docs.travis-ci.com/user/reference/overview/。虽然链接页面描述了它们在具体用法中的功能,但我想问一下LXD在概念上与所谓的完整VM有何不同,以及它们与Docker相比如何?我假设 CI 测试应该在预装了 Linux 或其他操作系统的服务器上运行,并且我们不需要在服务器端运行 LXD 或 VM。所以我对在服务器上运行的 LXD 或 VM 的基本概念感到非常困惑。有任何澄清吗?