🐧 Cap 16: Virtualização Ágil: WSL2 no Windows, DevContainers e Ambientes Herméticos
🗺️ A Integração Profunda entre Windows, WSL2 e VS Code Remote
flowchart LR
WIN["Windows 11 Host (Hyper-V Lightweight VM)"]
WIN --> WSL["WSL2 (Kernel Linux Real 6.x + Distro Ubuntu / Debian / Arch)"]
WSL --> VHDX["Sistema de Arquivos Linux Nativo ext4 (/home/user/projeto)"]
WSL --> DOCKER_WSL["Docker Engine Nativo no WSL2"]
WIN --> VSCODE["VS Code no Windows (Cliente UI / Renderização GPU)"]
VSCODE <--> |"VS Code Server (IPC Socket / IPC Remoto)"| WSL
style WIN fill:#ede7f6,stroke:#512da8,stroke-width:2px
style WSL fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff
style VHDX fill:#e8f5e9,stroke:#4caf50,stroke-width:1.5px
style DOCKER_WSL fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style VSCODE fill:#fff3e0,stroke:#ff9800,stroke-width:1.5px
📖 Fundamentos e Aplicação
O Windows Subsystem for Linux 2 (WSL2) transformou o ecossistema Windows em uma das plataformas mais eficientes para desenvolvimento de software moderno ao rodar um kernel Linux real e customizado sobre uma máquina virtual Hyper-V leve de inicialização quase instantânea (< 1 segundo).
1. A Regra de Ouro de Performance do WSL2 (Sistema de Arquivos):
- O que FAZER: Mantenha seus repositórios Git dentro do sistema de arquivos nativo do Linux (ex:
/home/usuario/codigo/). O I/O é 100% nativo ext4 e ultra-rápido. - O que NUNCA FAZER: Rodar projetos localizados no disco NTFS do Windows montado em
/mnt/c/Users/...a partir do WSL. A tradução de syscalls entre Linux VFS e Windows NTFS através do protocolo 9P gera lentidões de até 20x nonpm installougit status!
2. Ambientes Herméticos com Devbox e Nix:
O Devbox (construído sobre o gerenciador funcional Nix) permite criar ambientes isolados sem precisar necessariamente de Docker:
- Declarado em um arquivo
devbox.json. - Instala versões exatas de Node, Python, Postgres ou Go na pasta local sem poluir o sistema global.
🧭 Navegação Rápida
| 📖 Teoria | 📊 Slides | 🧠 Quiz | 💻 Exemplos | 🧩 Exercícios | | :— | :— | :— | :— | :— | | Ler Tópico | Ver Slides | Fazer Quiz | Ver Código | Praticar |
🧭 Navegação do Capítulo: ⬅️ Capítulo Anterior · 📚 Sumário do Módulo · ➡️ Próximo Capítulo