Páginas

quarta-feira, 14 de outubro de 2020

           


VMware Workstation Player e Docker Toolbox para Windows não rodam em conjunto

 

Olá pessoal, isso ocorre devido a  uma questão de incompatibilidade das tecnologias. Tanto o VMware Workstation Player, quanto o VirtualBox virtualiza de uma forma que não permite deixar o Hyper-V ativo, já o Docker precisa do Hyper-V pra virtualizar um Linux, onde estarão os conteiners Docker, explicarei mais abaixo o que ocorre quando se inicia ambas as aplicações e seus respectivos erros

 

 Erro ao iniciar o Docker Toolbox para Windows sem o Hyper-V ativo




Para resolver esse problema, vá até o Painel de Controle -> Ativar ou desativar recursos do Windows, procure pelo Hyper-V, clique na caixa de ativação, eventualmente o sistema pode pedir a reinicialização do sistema




Erro ao iniciar o VMware Workstation Player com o Hyper-V ativo




Para resolver esse problema, siga os passos abaixo


1. Abra msinfo32 / informações do sistema no Windows 10

 2. Em Resumo do sistema na página à direita, role para baixo até Segurança baseada em virtualização   e certifique-se de que o valor esteja definido como Não habilitado. ( Como na figura abaixo )

 3. Se o valor for definido como ativado, siga as etapas fornecidas abaixo para desativar o Hyper-V.




1. Desligue o Hyper-V

Vá para "Ativar ou desativar recursos do Windows"

Certifique-se de que o Hyper-v não esteja marcado.

Se estiver marcado, desmarque-o e clique em "Ok".

2. Abra a janela do prompt de comando como administrador

Execute “bcdedit / enum {current}”

Veja o hypervisorlaunchtype, seu estado precisa estar em off

Execute “bcdedit / set hypervisorlaunchtype off” para desabilitar o hypervisor, feche o prompt de comando após executar os comandos e reinicie o sistema.




Use os passos abaixo para desabilitar o Hyper-V no Microsoft Windows 10 Pro & acima dessa versão


1.Editar política de grupo (gpedit)

2.Digite gpedit na barra de pesquisar

3.Abaixo de Configuração do Computador, navegue nesse caminho, Modelos Administrativos -> Sistema -> Device Guard





4.Clique duas vezes no lado direito "Ativar Segurança Baseada em Virtualização" para abrir uma nova janela

5.Estaria como "Não Configurado", selecione "Desabilitado" e clique em "Ok"




6.Feche o Editor de Política de Grupo Local.

7.Reinicie o sistema


Use os passos abaixo para desabilitar o Hyper-V no Microsoft Windows 10 Home

Nota: Este procedimento modifica o registro do Windows. Antes de fazer qualquer modificação no registro, certifique-se de ter um backup atual e válido do registro e da máquina virtual, para fazer backup do registro, você pode fazer o backup exportando todo o registro, ou usando um programa simples como o Ccleaner para realizar o backup


1. Digite regedit no barra de pesquisas

2. Navegue em HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > DeviceGuard

3. On the right-hand side, write a new key


 a. Clique direito > Novo > Valor DWORD (32-bit) 

 b. Nomeie esse Valor "EnableVirtualizationBasedSecurity"

Por padrão, deveria ser 0, clique duplo e confirme o valor

4. Navegue em HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Lsa

5. Clique no lado direito, escreva um novo valor


a. Clique direito > Novo > Valor DWORD (32-bit) 

b. Nomeie esse Valor "LsaCfgFlags"

Por padrão, deveria ser 0, clique duplo e confirme o valor


Dois problemas bem comuns que você pode encontrar ao iniciar a criação de containers e os atribuir recursos

 

 1. Ao baixar uma imagem do repositório do docker

root@ubuntu:cgroups: cannot found cgroup mount destination: unknown

Resolução

sudo mkdir /sys/fs/cgroup/systemd

sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

 

 2. Erro ao alocar memória ou swap no container

 root@ubuntu:~# docker run -ti --memory=20m --memory-swap=20m debian /bin/bash

WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.

 Resolução

 Adcionar as entradas no arquivo do grub

 root@ubuntuserver:~# cat /etc/default/grub |grep GRUB_CMDLINE_LINUX

 GRUB_CMDLINE_LINUX_DEFAULT="maybe-ubiquity"

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

 

 Update o grub

 root@ubuntu:/sys/fs/cgroup/memory# update-grub

Sourcing file `/etc/default/grub'

Sourcing file `/etc/default/grub.d/init-select.cfg'

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-5.4.0-48-generic

Found initrd image: /boot/initrd.img-5.4.0-48-generic

Found linux image: /boot/vmlinuz-5.4.0-42-generic

Found initrd image: /boot/initrd.img-5.4.0-42-generic

Found memtest86+ image: /boot/memtest86+.elf

Found memtest86+ image: /boot/memtest86+.bin

done

 

 Reinicie o servidor

 shutdown -r now