Я пытаюсь создать Docker Swarm с несколькими узлами на моем ПК с Windows 10.Согласно официальной документации Docker , мы должны использовать docker-machine create , чтобы сначала создать несколько виртуальных машин.Я следовал документации, чтобы создать виртуальный коммутатор " myswitch " и использовать следующие команды:
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm2
успешно создал две виртуальные машины:
PS C:\Users\richard> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 - hyperv Running tcp://192.168.1.125:2376 v18.09.3
myvm2 - hyperv Running tcp://192.168.1.128:2376 v18.09.3
Но когда япопробуйте создать третий (3 узла подходят для кластера Swarm), по какой-то причине он всегда дает сбой:
PS C:\Users\richard> docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm3
Running pre-create checks...
Creating machine...
(myvm3) Copying C:\Users\richard\.docker\machine\cache\boot2docker.iso to C:\Users\rudeng\.docker\machine\machines\myvm3\boot2docker.iso...
(myvm3) Creating SSH key...
(myvm3) Creating VM...
(myvm3) Using switch "myswitch"
(myvm3) Creating VHD
(myvm3) Starting VM...
Error creating machine: Error in driver during machine creation: exit status 1
Я провел некоторые исследования в Интернете.Одной из возможных причин может быть то, что недостаточно памяти, поэтому третья виртуальная машина не может запуститься должным образом.Если мы посмотрим на следующий снимок экрана диспетчера Hyper-V в Windows, то увидим, что виртуальная машина докера по умолчанию занимает 2G, а каждая новая виртуальная машина использует 1G по умолчанию.Мой компьютер имеет 8G памяти, я не уверен, как Docker использует ресурс ПК и сколько ресурсов Docker собирается использовать.
Итак, я попытался удалить все созданные виртуальные машины, а затем создать новую виртуальную машину только с объемом памяти 0,5 ГБ, но он застрял на "ожидании"host to start "и не удалось создать нужную виртуальную машину.
PS C:\Users\richard> docker-machine create -d hyperv --hyperv-memory "512" --hyperv-virtual-switch "myswitch" myvm3
Running pre-create checks...
Creating machine...
(myvm2) Copying C:\Users\richard\.docker\machine\cache\boot2docker.iso to C:\Users\rudeng\.docker\machine\machines\myvm2\boot2docker.iso...
(myvm2) Creating SSH key...
(myvm2) Creating VM...
(myvm2) Using switch "myswitch"
(myvm2) Creating VHD
(myvm2) Starting VM...
(myvm2) Waiting for host to start...
Мой вопрос:
- Какова потенциальная причина сбоя при создании третьей виртуальной машины в этом случае?
- А в чем проблема создания виртуальной машины только с объемом памяти 0,5 ГБ?
- Что мне делать в любом случае, в этом случае, чтобы создать как минимум 3 виртуальные машины?
Заранее спасибо!