?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
使用Hyper-V在Windows計(jì)算機(jī)上本地創(chuàng)建Boot2Docker虛擬機(jī)。
必須在桌面系統(tǒng)上啟用Hyper-V。Docker for Windows會(huì)在安裝后自動(dòng)啟用它。有關(guān)如何手動(dòng)啟用Hyper-V的說明,請(qǐng)參閱Microsoft開發(fā)人員網(wǎng)絡(luò)上的這篇文章。
備注:
您將需要使用管理員級(jí)別的帳戶來創(chuàng)建和管理Hyper-V計(jì)算機(jī)。
您將需要一個(gè)現(xiàn)有的虛擬交換機(jī)來使用該驅(qū)動(dòng)程序。Hyper-V可以共享一個(gè)外部網(wǎng)絡(luò)接口(又名橋接)。如果您想使用NAT,請(qǐng)創(chuàng)建一個(gè)內(nèi)部網(wǎng)絡(luò),并使用Internet連接共享。
此參考頁(yè)面包含一個(gè)示例,顯示如何使用高級(jí)(管理員級(jí)別)PowerShell以及如何創(chuàng)建和使用外部網(wǎng)絡(luò)交換機(jī)。
$ docker-machine create --driver hyperv vm
--hyperv-boot2docker-url
:boot2docker ISO的URL。
--hyperv-virtual-switch
:要使用的虛擬交換機(jī)的名稱。
--hyperv-disk-size
:主機(jī)的磁盤大小(以MB為單位)。
--hyperv-memory
:主機(jī)的內(nèi)存大小,以MB為單位。
--hyperv-cpu-count
:主機(jī)的CPU數(shù)量。
--hyperv-static-macaddress
:Hyper-V網(wǎng)絡(luò)適配器的靜態(tài)MAC地址。
--hyperv-vlan-id
:Hyper-V網(wǎng)絡(luò)適配器的VLAN ID(如果有)。
CLI選項(xiàng) | 環(huán)境變量 | 默認(rèn)值 |
---|---|---|
--hyperv-boot2docker-url | HYPERV_BOOT2DOCKER_URL | Latest boot2docker url |
--hyperv-virtual-switch | HYPERV_VIRTUAL_SWITCH | first found |
--hyperv-disk-size | HYPERV_DISK_SIZE | 20000 |
--hyperv-memory | HYPERV_MEMORY | 1024 |
--hyperv-cpu-count | HYPERV_CPU_COUNT | 1 |
--hyperv-static-macaddress | HYPERV_STATIC_MACADDRESS | undefined |
--hyperv-vlan-id | HYPERV_VLAN_ID | undefined |
在Docker for Windows上自動(dòng)啟用Hyper-V。要手動(dòng)啟用它,請(qǐng)參閱有關(guān)如何在Microsoft開發(fā)人員網(wǎng)絡(luò)上手動(dòng)啟用Hyper-V的說明。
注意:如果您已有外部網(wǎng)絡(luò)交換機(jī),則可以跳過此設(shè)置并使用該設(shè)置。
確保在進(jìn)行此操作時(shí)擁有以太網(wǎng)連接。
打開Hyper-V管理器。(在Windows 10上,只需在左下方搜索字段的搜索字段中搜索Hyper-V管理器。)
在左側(cè)的“ 操作”面板上選擇虛擬交換機(jī)管理器。
設(shè)置一個(gè)新的外部網(wǎng)絡(luò)交換機(jī),以代替DockerNAT網(wǎng)絡(luò)交換機(jī)(用于Moby),該交換機(jī)在安裝Docker for Windows時(shí)默認(rèn)設(shè)置。(或者如果您已經(jīng)安裝了另一個(gè)網(wǎng)絡(luò)交換機(jī),則可以使用該交換機(jī),但它必須是外部交換機(jī)。)
對(duì)于這個(gè)例子,我們創(chuàng)建了一個(gè)叫做虛擬開關(guān)Primary Virtual Switch
。
在virtualbox上查看此問題:掛起在等待VM啟動(dòng)#986。
重新啟動(dòng)桌面系統(tǒng)會(huì)清除路由表中的任何問題。如果沒有重新啟動(dòng),docker-machine create ...
可能會(huì)掛斷Waiting for VM to start
。
啟動(dòng)一個(gè)“提升”的PowerShell(即以管理員身份運(yùn)行)。為此,請(qǐng)搜索PowerShell,右鍵單擊并選擇以管理員身份運(yùn)行。
運(yùn)行docker-machine create
命令來創(chuàng)建機(jī)器。例如,如果您與群模式教程,要求你創(chuàng)建三個(gè)聯(lián)網(wǎng)的主機(jī)上進(jìn)行操作,您可以創(chuàng)建這些群節(jié)點(diǎn):manager1
,worker1
,worker2
。
使用Microsoft Hyper-V驅(qū)動(dòng)程序并引用您創(chuàng)建的新虛擬交換機(jī)。docker-machine create -d hyperv --hyperv-virtual-switch“<NameOfVirtualSwitch>”<nameOfNode>以下是創(chuàng)建manager1
節(jié)點(diǎn)的示例: shell PS C:\WINDOWS\system32> docker-machine create -d hyperv --hyperv-virtual-switch "Primary Virtual Switch" manager1 Running pre-create checks... Creating machine... (manager1) Copying C:\Users\Vicky\.docker\machine\cache\boot2docker.iso to C:\Users\Vicky\.docker\machine\machines\manag er1\boot2docker.iso... (manager1) Creating SSH key... (manager1) Creating VM... (manager1) Using switch "Primary Virtual Switch" (manager1) Creating VHD (manager1) Starting VM... (manager1) Waiting for host to start... Waiting for machine to be running, this may take a few minutes... Detecting operating system of created instance... Waiting for SSH to be available... Detecting the provisioner... Provisioning with boot2docker... Copying certs to the local machine directory... Copying certs to the remote machine... Setting Docker configuration on the remote daemon... Checking connection to Docker... Docker is up and running! To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: C:\Program Files\Doc ker\Docker\Resources\bin\docker-machine.exe env manager1 PS C:\WINDOWS\system32>
使用相同的進(jìn)程,驅(qū)動(dòng)程序和網(wǎng)絡(luò)開關(guān)來創(chuàng)建其他節(jié)點(diǎn)。對(duì)于我們的示例,命令將如下所示:docker-machine create -d hyperv --hyperv-virtual-switch“主虛擬交換機(jī)”worker1 docker-machine create -d hyperv --hyperv-virtual-switch“主虛擬交換機(jī)” worker2