
Para trabalhar totalmente com o projeto na janela de encaixe no WSL, você precisa instalar o WSL 2. No momento da redação, você pode usá-lo apenas como parte do Windows Insider Program (o WSL 2 está disponível nas versões 18932 e superior). Também é importante mencionar separadamente que é necessária uma versão do Windows 10 Pro para instalar e configurar o Docker Desktop.
Importante! O WSL 2 não precisa mais do Docker Desktop para Windows 10. O que fazer sem ele está descrito na seção Docker Pro no Ubuntu .
Primeiros passos
Depois de entrar no programa de avaliação preliminar e instalar as atualizações, você precisa instalar a distribuição Linux (neste exemplo, o Ubuntu 18.04 é usado) e o Docker Desktop com WSL 2 Tech Preview:
- Visualização técnica do Docker Desktop WSL 2
- Ubuntu 18.04 na Windows Store
Nos dois parágrafos, seguimos todas as instruções de instalação e configuração.
Instalando a distribuição Ubuntu 18.04
Antes de iniciar o Ubuntu 18.04, você deve habilitar o Windows WSL e a Windows Virtual Machine Platform executando dois comandos no PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
(requer reiniciar o computador)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Depois você precisa ter certeza de que usaremos o WSL v2. Para fazer isso, no terminal WSL ou PowerShell, execute os seguintes comandos sequencialmente:
wsl -l -v
- veja qual versão está atualmente instalada. Se 1, então desça a listawsl --set-version ubuntu 18.04 2
- para atualizar para a versão 2wsl -s ubuntu 18.04
- instale o Ubuntu 18.04 como a distribuição padrão
Agora você pode iniciar o Ubuntu 18.04, configure (especifique um nome de usuário e senha).
Instalar o Docker Desktop
Importante! O WSL 2 não precisa mais do Docker Desktop para Windows 10. O que fazer sem ele está descrito na seção Docker Pro no Ubuntu .
Durante a instalação, siga as instruções. O computador precisará reiniciar após a instalação e, primeiro, iniciar a ativação do Hyper-V (por causa desse suporte, é necessária uma versão do Windows 10 Pro).
Importante! Se o Docker Desktop relatar o bloqueio pelo firewall, vá para as configurações do antivírus e faça as seguintes alterações nas regras do firewall (neste exemplo, o Kaspersky Total Security é usado como antivírus):
- Vá para Configurações -> Proteção -> Firewall -> Configurar regras de pacotes -> Serviço local (TCP) -> Alterar
- Remova a porta 445 da lista de portas locais
- Salvar
Após iniciar o Docker Desktop, em seu menu de contexto, selecione o item WSL 2 Tech Preview.

Na janela que se abre, clique no botão Iniciar.

Agora, docker e docker-compose estão disponíveis na distribuição WSL.
Importante! O Docker Desktop atualizado agora tem uma guia com WSL dentro da janela de configurações. Inclui suporte para WSL.

Importante! Além da caixa de seleção de ativação da WSL, você também precisa ativar sua distribuição da WSL na guia Recursos-> Integração da WSL.

Lançamento
Os inesperados foram os muitos problemas que ocorreram ao tentar aumentar os contêineres dos projetos localizados no diretório de usuários do Windows.
Erros de vários tipos relacionados à execução de scripts bash (que geralmente iniciam ao criar contêineres para instalar as bibliotecas e distribuições necessárias) e outras coisas comuns ao desenvolvimento do Linux nos fizeram pensar em colocar projetos diretamente no diretório de usuários do Ubuntu 18.04.
.
Da solução ao problema anterior, a seguir: como trabalhar com arquivos de projeto por meio do IDE instalado no Windows. Como "prática recomendada", encontrei apenas uma opção para mim - trabalhar no VSCode (embora eu seja fã do PhpStorm).
Depois de baixar e instalar o VSCode, nós o instalamos no pacote de extensão Remote Development .
Após instalar a extensão acima, basta executar o comando code .
no diretório do projeto com o VSCode em execução.
Neste exemplo, o nginx é necessário para acessar contêineres por meio de um navegador. Instalá-lo através do sudo apt-get install nginx
não era tão simples. Para começar, era necessário atualizar a distribuição da WSL executando o sudo apt update && sudo apt dist-upgrade
e só então inicie a instalação do nginx.
Importante! Todos os domínios locais não estão registrados no arquivo / etc / hosts da distribuição Linux (nem sequer existe), mas no arquivo hosts (geralmente localizado em C: \ Windows \ System32 \ drivers \ etc \ hosts) no Windows 10.
Sobre o Docker no Ubuntu
Conforme solicitado por usuários experientes nos comentários da nota, a janela de encaixe na distribuição do WSL 2 é absolutamente funcional. Isso permite que você não instale o Docker Desktop no Windows 10 e resolve o problema de ter uma versão do Windows 10 Pro (a necessidade do Pro surge precisamente em conexão com o uso do Docker Desktop). É instalado de acordo com as instruções do site inicial:
Se a janela de encaixe começar a xingar o daemon ao executar o comando, verifique o status do serviço - no meu caso, como o nginx, ele não inicia automaticamente. Execute-o com o sudo service docker start
.
Se no momento da montagem o erro "Serviço falhou ao criar: cgroups: não é possível encontrar o destino de montagem do cgroup: desconhecido" cair, tente a seguinte solução (não a minha, encontrei o link nas fontes): sudo mkdir /sys/fs/cgroup/systemd
; sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
.
Trabalhar com o projeto através do PhpStorm
Para fornecer a capacidade de trabalhar com um projeto na WSL por meio do PhpStorm, faça o seguinte:
- Execute o prompt de comando do Windows 10 como administrador;
- No prompt de comando do Windows 10, execute o comando
mklink /DC:\project_directory \\wsl$\Ubuntu\home\user\project_directory
, que criará um link simbólico para a pasta do projeto.
Depois disso, no IDE, você pode abrir o projeto no caminho C: \ project_directory
PS Dmitry Simagin , obrigado pela decisão.
Fontes
Uma descrição mais detalhada de cada etapa pode ser encontrada aqui: