Solucionado (ver solução)
Solucionado
(ver solução)
19
respostas

Erro ao tentar executar o comando create

Olá.

Quando tento executar o comando:

docker-machine create -d virtualbox vm1

É exibido o erro abaixo:

Error with pre-create check: "This computer is running Hyper-V. VirtualBox won't boot a 64bits VM when Hyper-V is activated. Either use Hyper-V as a driver, or disable the Hyper-V hypervisor. (To skip this check, use --virtualbox-no-vtx-check)"

Se eu desabilito o Hyper-V, o Docker não é iniciado. Como resolvo isso?

Obrigado!

19 respostas

Oi Edilson, tudo bem?

Tenta executar do seguinte modo:

docker-machine create -d hyperv vm1

Outra situação, desabilitando o Hyper-V, você conseguirá usar o comando original:

docker-machine create -d virtualbox vm1

E como a máquina virtual criada será um linux, você não terá problemas de executar o docker dentro dela :)

Olá Daniel, Então, tentei executar o "docker-machine create -d hyperv vm1", como sugeriu mas foi exibido o seguinte erro:

Error with pre-create check: "no External vswitch found. A valid vswitch must be available for this command to run. Check https://docs.docker.com/machine/drivers/hyper-v/"

Se eu desabilito e tento executar o hyper e executar o "docker-machine create -d virtualbox vm1", é exibido o erro abaixo:

Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"

A opção de virtualização da BIOS, ta ativa.

Tenta então através do comando:

docker-machine create vm1 --virtualbox-no-vtx-check

Com esse comando que passou, ele até começou a executar mas deu erro:

PS C:\Users\Edilson Silva> docker-machine create vm1 --virtualbox-no-vtx-check
Running pre-create checks...
Creating machine...
(vm1) Copying C:\Users\Edilson Silva\.docker\machine\cache\boot2docker.iso to C:\Users\Edilson Silva\.docker\machine\machines\vm1\boot2docker.iso...
(vm1) Creating VirtualBox VM...
(vm1) Creating SSH key...
(vm1) Starting the VM...
(vm1) Check network to re-create if needed...
(vm1) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.
Error creating machine: Error in driver during machine creation: Unable to start the VM: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm vm1 --type headless failed:
VBoxManage.exe: error: Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

Details: 00:00:01.422917 Power up failed (vrc=VERR_NEM_VM_CREATE_FAILED, rc=E_FAIL (0X80004005))

Mesmo com o erro ele criou a "vm1", mas não me deixa iniciar. Nesse momento eu estou com o Hyper-v desabilitado.

Qual o nome da opção que está habilitada na BIOS sobre virtualização?

Intel Virtual Technology

Intel(R) Hyper-Threading Technology

Não tem nenhuma opção como Intel Virtualization Technology ou Intel VTX Technology?

A opção de hyper-threading envolve outra coisa.

Sobre virtualização, só essas opções mesmo.

Você está utilizando o Docker Desktop For Windows ou o Docker Toolbox?

Docker Desktop For Windows

Dá uma olhada nessa imagem e confere se a opção de virtualização está habilitada lá embaixo no gerenciador de tarefas também.

Me passa o modelo da sua máquina e sistema operacional, por favor.

Lenovo Ideapad 320

Windows 10 Enterprise

Seu gerenciador de tarefas bate com a mesma configuração descrita na imagem acima?

Com a Virtualização: Habilitada no caso.

solução!

Edilson, vamos tentar o seguinte então:

1- Reabilite seu Hyper-V.

2- Acesse o gerenciador do Hyper-V através do menu iniciar.

3- Ao abrir, selecione na aba máquinas virtuais a DockerDesktopVM.

4- No menu lateral direito (Ações) selecione Gerenciador de Comutador Virtual.

5- Selecione a opção Externo e Criar Comutador Virtual logo embaixo.

6- Defina um nome para o comutador. Pode ser comutador mesmo, por exemplo.

7- Aguarde terminar o processo de criação.

8- No seu terminal, digite o comando docker-machine create -d hyperv --hyperv-virtual-switch=comutador vm1.

Se tiver alguma dúvida no processo é só falar :)

Olá, bom dia.

Seguindo os passos que passou, consegui criar a vm. Mas o que pode ter acontecido? Saberia me dizer?

Sempre que precisar criar uma vm com o docker-machine, vou precisar passar o parâmetro --hyperv-virtual-switch=comutador vm1 ?

Obrigado pelo apoio, agora consigo dar continuidade ao curso.

Olá Edilson, bom dia :)

Pelo que encontrei aqui nas minhas pesquisas, o seu computador não possui a tecnologia necessária para essa virtualização em específico, que seria o VT-X. Por conta disso, não é possível utilizar o VirtualBox.

Essa outra possibilidade que te apresentei é criar uma máquina virtual utilizando a Docker Machine com outro driver, que é o do próprio Hyper-V do Windows.

Quando for criar novas vms, precisará passar o parâmetro para explicitar o vswitch necessário para o driver hyperv.

Qualquer dúvida é só abrir outro tópico, beleza? :)

Opa, beleza!

Muito Obrigado.