Bem-vindos à nossa comunidade!

Junte-se a nós e faça parte hoje mesmo!

WSL2 + Docker

over147

Membro
Cadastro
1/2/21
Postagens
26
Curtidas
33
Pontuação
39
Cidade
Fortaleza
Hoje lhes trago duas ferramentas que vai lhe ajudar bastante no seu ambiente de desenvolvimento, que é o wsl2 integrado com docker desktop. Primeiramente o que é wsl, wsl ou Subsistema do Windows para Linux que vai "permite que os desenvolvedores executem um ambiente GNU/Linux, incluindo a maioria das ferramentas de linha de comando, utilitários e aplicativos, diretamente no Windows, sem modificações e sem a sobrecarga de uma máquina virtual tradicional ou instalação dualboot". Ou seja, a união dessas duas ferramentas vai consumir menos recursos da sua máquina. Sem mais delongas vamos iniciar a instalação dessas ferramentas.​
Observação é necessário windows 10 para fazer os processos a seguir desse artigo.
Primeiramente temos que desativar o Hyper-V e ativar o Subsistema do Windows para Linux, feito isso vai ser pedido para reinicializar sua máquina.​

imagem01.PNG
O próximo passo é você abrir seu Windows PowerShell como administrador e fazer o seguinte comando e depois de executado reinicie seu computador.​

Bash:
wsl.exe —install

Agora teremos que baixar um pacote de atualizaçãodo kernel do Linux do WSL2 para computadores de x64. Feito o download é necessário que você faça a instalação do mesmo, para podermos mudar de versão de WSL para WSL2. Com essa etapa realizada iremos abrir novamente o PowerShell como administrador e executaremos o seguinte comando para definir o WSL 2 como a versão padrão ao instalar uma nova distribuição do Linux:

Bash:
wsl —set-default-version 2

Com wsl instalado você irá na sua Microsoft Store e irá procurar por uma distro linux e fará sua instalação. Abaixona figura estarei utilizando o Ubuntu-20.04.

imagem02.PNG
Feita a instalção agora você irá na sua barra de pesquisa do Windows e pesquisara ubuntu, dessa forma abrirá um terminal quando você inicializar a primeira vez. Irá pedir para você um nome de usuário e uma senha, para essa distro. Tenha em mente que você deve sempre lembrar dessa senha, pois ela será essencial para executar comandos como super usuário dentro da distro.
imagem03.PNG
Para vereficarmos se o linux está rodando com wsl, dentro do PowerShell como adiministrador podemos rodar o seguinte comando para ver as lista de processos wsl sendo executadas

Bash:
wsl --list --verbose

Agora que terminamos de configurar nosso wsl2 no windows, vamos configurar nosso Docker Desktop e intregá-lo com wsl2. O primeiro passo é instalar o Docker Desktop para windows.
Com o docker desktop instalado, iremos abrir ele e ir em settings, dentro de settings iremos clicar em resources como na imagem abaixo, e iremos clicar em wsl integration para ativar a integração entre nosso docker e o wsl2 da distro linux criada.
imagem04.PNG
Com essa etapa terminada podemos ter acesso aos comandos docker dentro da distro linux, você pode testar digitando o comando docker no seu terminal e irá mostrar vários outros comandos. Agora chegamos na parte interessante com a integração feita iremos criar uma imagem do mysql-server, fazendo uma instância fo banco de dados. Dessa forma, fazendo um ambiente produtivo de desenvolvimento utilizando o docker.
Dentro do nosso terminal linux iremos executar o seguinte comando para criar nossa imagem de instância do mysql-server.

Bash:
sudo docker run --name NomeDaSuaImagem -e MYSQL_ROOT_PASSWORD=SuaSenha -p 3306:3306 -d mysql/mysql-serverconfigurar uma imagem de um banco de dados mysql
imagem08.PNG
Com a nossa imagem criada podemos conferir dentro do nosso docker desktop que ela foi criada.
imagem05.PNG
Visto que nossa imagem foi criada, agora iremos conectar nossa imagem criada do mysql-server com MySQL Workbench, para isso você deve instalar o MySQL Workbench. E iremos testar a conexão, de primeira irá gerar um erro, pois, para fins de segurança, você não poderá se conectar a ele fora da imagem do docker. Para isso, vamos precisar alterar isso para permitir que o root se conecte de qualquer host (digamos, para fins de desenvolvimento).
imagem07.PNG
Agora iremos abrir o terminal linux e faremos os seguintes comandos para permitir o root se conectar com qualquer host, faça:​
Bash:
sudo docker exec -it nome_da_imagem mysql -uroot -p

update mysql.user set host = '%' where user='root';

exit

sudo docker restart nome_da_imagem


imagem09.PNG
Com os comandos realizado acima, conseguiremos agora se conectar ao Workbench.
imagem10.PNG
Agora temos um ambiente de desenvolvimento de instância de banco de dados robusto utilizando docker, espero que tenham gostado e aprendido mais uma ferramenta essencial de desenvolvimento no windows.

Referências

https://docs.microsoft.com/pt-br/windows/wsl/install-win10
https://docs.docker.com/docker-for-windows/wsl/
 
Last edited:
Top