Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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.