背景:
一直在用VirtualBox + Vagrant 來做基于Linux、Nginx、NodeJS 的WEB開發(fā),之前在Mac下也一直在用Docker,在macOS下二者共存木有問題,可是新公司配的Lenovo,自己裝的Win 10,在使用vagrant開發(fā)一段時(shí)間后又想折騰下docker,所以今天又安裝了docker,安裝的過程中最后確定之前docker是彈了一個(gè)窗提示大概是說要使用Hyper-v,禁掉VirtualBox,我沒管,當(dāng)時(shí)沒get為毛要禁掉VB,確定之后重啟,我要繼續(xù)開發(fā)我的網(wǎng)站,
vagrant up執(zhí)行一半,系統(tǒng)藍(lán)屏,等待我關(guān)機(jī)重啟...
實(shí)際之前我在家做開發(fā)時(shí)遇到過這個(gè)問題,當(dāng)時(shí)要忙著LOL,就擱置了...今天又遇到,要解決一下了!
google: vagrant docker conflict docker vagrant coexist
有不少鏈接,看了不少但感覺不是我想要的,有個(gè)哥們的情況跟我很類似-他做的很牛逼,直接搞兩個(gè)系統(tǒng)啟動(dòng)項(xiàng),一個(gè)啟動(dòng)后用Hyper-V,一個(gè)則不。
我不想搞這么復(fù)雜,工作要緊,先不管Docker了,因?yàn)镈ocker使用Hyper-v虛擬機(jī),直接 disable 掉它算了。
google: disable hyper-v
就是禁用掉 Hyper-V 這個(gè) windows 功能。
- 打開設(shè)置
- 搜索
windows 功能或者windows features如果是英文的話 - Uncheck
Hyper-V - 重啟
那么到底兩者為啥不能共存?
因?yàn)镠yper-V與VirtualBox都需要一個(gè)叫Hypervisor的東西,不幸的是系統(tǒng)不能同時(shí)run兩個(gè)Hypervisor.
你說啥?
Hypervisor——一種運(yùn)行在基礎(chǔ)物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個(gè)操作系統(tǒng)和應(yīng)用共享硬件。也可叫做VMM( virtual machine monitor ),即虛擬機(jī)監(jiān)視器。
Hypervisors是一種在虛擬環(huán)境中的“元”操作系統(tǒng)。他們可以訪問服務(wù)器上包括磁盤和內(nèi)存在內(nèi)的所有物理設(shè)備。Hypervisors不但協(xié)調(diào)著這些硬件資源的訪問,也同時(shí)在各個(gè)虛擬機(jī)之間施加防護(hù)。當(dāng)服務(wù)器啟動(dòng)并執(zhí)行Hypervisor時(shí),它會(huì)加載所有虛擬機(jī)客戶端的操作系統(tǒng)同時(shí)會(huì)分配給每一臺(tái)虛擬機(jī)適量的內(nèi)存,CPU,網(wǎng)絡(luò)和磁盤。
