設想 Docker 下部署 KVM
一、安裝
$ yum -y install kvm # kvm base , must
$ yum -y install libvirt -y # libvirtd service can be started , must
$ yum -y install virt-manager # X system needs
$ /sbin/lsmod|grep kvm # check kvm setuped
二、過程圖
注意,這里顯示 "libvirtd" 服務無法啟動,在“安裝”部分的。 yum -y install libvirt 即可解決!
這里我嘗試了連接本地 KVM 服務器。
關於網卡的重大問題:
因為 Docker 本身已經是虛擬化,在使用 KVM 時需要涉及網絡上面的操作。但是因為 Docker 的安全設置,無法操作。
無法操作!!!除非你有辦法授予 Docker 客戶端完整網絡操作功能。(但是這樣也就失去了 Docker 的意義)
即便不使用(繞過網絡報錯)網卡,最后一個問題也是讓人崩潰。
When a program opens /dev/net/tun, driver creates and registers corresponding net device tunX or tapX.
tun/tap 驅動程序實現了虛擬網卡的功能,tun表示虛擬的是點對點設備,tap表示虛擬的是以太網設備,這兩種設備針對網絡包實施不同的封裝。利用tun/tap 驅動,可以將tcp/ip協議棧處理好的網絡分包傳給任何一個使用tun/tap驅動的進程,由進程重新處理后再發到物理鏈路中。可參考:http://www.cnblogs.com/heidsoft/p/3525646.html
總結:所以要完成該設想需要先完成“Docker對宿主機網卡的RWX權限”問題
。。有個思路,將宿主機的磁盤掛載給Docker可以解決嗎?