1
resposta

[Bug] Comando "docker compose up" não funciona

Ao utilizar o comando "docker compose up", dentro do diretório "curso-react-alurabooks", no Ubuntu, aparece o erro "WARN[0000] /home/emman/curso-react-alurabooks/docker-compose.yml: the attribute version is obsolete, it will be ignored, please remove it to avoid potential confusion
Failed to initialize: protocol not available".
Então, excluí a linha referente a versão (obsoleto), permaneceu apenas o erro "Failed to initialize: protocol not available", mas não consegui solucionar o problema.

Windows 11 Home Single Language
Versão do WSL: 2.6.3.0
Versão do kernel: 6.6.87.2-1
Versão do WSLg: 1.0.71
Versão do MSRDC: 1.2.6353
Versão do Direct3D: 1.611.1-81528511
Versão do DXCore: 10.0.26100.1-240331-1435.ge-release
Versão do Windows: 10.0.26200.7623
Docker version 29.1.5, build 0e6fee6
Docker Compose version v5.0.1

1 resposta

Bom dia.

Esse aviso sobre a chave version pode ser ignorado mesmo ele não causa o erro. O problema real é o Failed to initialize: protocol not available, e ele não está relacionado ao docker-compose.yml, mas sim ao ambiente Docker + WSL.

No seu caso, alguns pontos importantes:

Você está rodando o comando dentro do Ubuntu no WSL, mas o Docker que aparece na versão (Docker version 29.1.5) é o Docker Desktop do Windows. Esse erro costuma acontecer quando o Docker Desktop não está integrado corretamente ao WSL ou quando o daemon do Docker não está acessível a partir da distro Linux.

O que normalmente resolve:

Primeiro, confirme que o Docker Desktop está aberto no Windows. Se ele não estiver em execução, o docker compose up no WSL sempre vai falhar com esse tipo de erro.

Depois, no Docker Desktop:

  • Vá em Settings → Resources → WSL Integration
  • Ative Enable integration with my default WSL distro
  • Marque explicitamente a distro Ubuntu que você está usando
  • Aplique e reinicie o Docker Desktop

Em seguida, ainda no WSL, teste:

docker info

Se esse comando falhar, o problema é 100% de comunicação com o daemon, não do Compose.

O erro não está no YAML nem no curso. Ele acontece porque o Docker Desktop não está acessível pelo WSL. Garantindo que o Docker Desktop esteja rodando e com a integração WSL ativa, o docker compose up passa a funcionar normalmente.