Minha experiência com WSL2 (modo de rede espelhado)
Minha experiência com WSL2 (modo de rede espelhado)
Migrei meu setup principal para o Windows Subsystem for Linux 2 (WSL2) para trabalhar com Rails e Docker. O destaque foi o modo de rede espelhado, que simplifica VPNs e ajustes de rede.
Initial Setup: Choosing the Right Environment
Escolhi Ubuntu 22.04 LTS pela estabilidade:
1
wsl --install -d Ubuntu-22.04
Isso entrega um ambiente Linux completo dentro do Windows.
Managing System Resources and Enabling Mirrored Network Mode
Por padrão o WSL2 pode consumir todo CPU/RAM. Limitei os recursos e habilitei rede espelhada via .wslconfig (C:\Users\<username>):
1
2
3
4
[wsl2]
memory=24GB
processors=6
networkingMode=mirrored
Isso limita RAM/CPU e faz o WSL herdar a rede do Windows (incluindo VPNs).
Why Mirrored Network Mode Is a Game-Changer
Sem o modo espelhado eu cuidava das VPNs dentro do WSL (openconnect, etc.). Agora o Windows gerencia as VPNs e o WSL herda a conectividade—even com múltiplas VPNs—reduzindo atrito.
Setting Up Docker in WSL2
Dispensei o Docker Desktop e instalei o Docker direto no WSL2 para melhor performance e menos conflitos:
-
Install Docker:
1 2
sudo apt update sudo apt install docker.io -
Configure Docker to Run Without Root:
1
sudo usermod -aG docker $USER -
Restart your WSL environment to apply the changes.
Com Docker nativo e rede espelhada, registries privados e recursos acessíveis só via VPN funcionam sem configuração extra.
Developing with Rails in WSL2
Mantenho o código dentro do file system do WSL (não em \\wsl$) para evitar lentidão de IO. Com rbenv configurado:
1
export PATH="$HOME/.rbenv/bin:$PATH"
Ruby e Rails rodam normalmente, e eu debugo com RubyMine.
Workflow Optimizations: Choosing the Right Mode
Workflows que funcionaram melhor:
- Rails nativo no WSL2 — tudo dentro do WSL como num Linux normal. Simples e rápido.
- Editar no Windows, rodar no WSL — código fica no WSL; editores/IDEs no Windows acessam via
\\wsl$. Bom equilíbrio para quem usa RubyMine. - Full Docker no WSL2 — containers para app + dependências; mais setup, porém portátil.
Final Thoughts: Why Mirrored Network Mode Is Essential
Rede espelhada acabou com o incômodo de VPN e deixou o trabalho multiambiente mais suave. Se você usa várias VPNs, habilite.
Final Tips
Tenha um plano B: uma VM ou dual-boot com Ubuntu LTS caso o WSL quebre na hora errada.
References: