
我搜尋了一個輕量級的全作業系統虛擬化工具。
它應該在linux上運行,並且虛擬化內部的作業系統也是linux。
我的用例:我想測試我們的設定管理。
- 啟動目前 Linux 發行版的基礎映像(Ubuntu 和 SuSE)
- 運行我們的設定管理(salt stack)
- 檢查作業系統是否配置正確且運作正常。
我認為不匹配的事情:
- KVM/Qemu:太重,不輕
- Docker:我需要作業系統內的 cron、ssh、apache。 AFAIK Docker 不適合這裡。
- chroot 是不夠的,因為 AFAIK 綁定到 0.0.0.0 不起作用(apache,sshd,...)
可以使用哪一個(開源)工具?
答案1
我能想到的最接近的是LXD。
LXD 是一個管理守護進程,使用 LXC 進行“虛擬化”
底層的實作更像是 Docker(Docker 曾經基於 LXC 函式庫),但用法更像是虛擬機器。
實際上,您在這裡得到的是容器中的 init 進程。有許多不同的基礎映像可以用來模擬 Ubuntu、CentOS、Alpine 或其他 Linux 系統。然而,沒有像虛擬機器那樣的硬體模擬;所有容器都在主機核心之上運行。
首席開發人員有一個部落格系列這裡關於使用 LXD。
我經常在開發和測試中使用LXD。您可以使用專用網橋將其設定為與本機電腦隔離的網絡,或與實體介面進行橋接,並將容器公開在外部網路上。這就是我運行家庭伺服器的方式,這樣我就可以透過 ssh 進入每個容器/伺服器,就像它是一個完整的伺服器一樣。
對於測試和開發工作,網橋不會與任何實體設備連接,因此我可以設定資料庫叢集或任何我需要的真實網絡,但只能在我的本機筆記型電腦上。