Instalando o Docker no Linux
Já enfrentou o clássico “mas funciona na minha máquina” ao tentar rodar um projeto em outro ambiente? Ou perdeu tempo configurando dependências complexas que conflitavam entre diferentes projetos? O Docker resolve esses problemas permitindo que você empacote suas aplicações com todas as suas bibliotecas e configurações em “containers” isolados e portáteis. Isso garante que elas rodem de forma consistente e previsível em qualquer lugar, desde o seu WSL até servidores de produção em nuvem.
Este guia prático mostrará como instalar e configurar o Docker nativamente em sua distribuição Linux rodando no WSL. Ao dominar o Docker no WSL, você terá um ambiente de desenvolvimento Linux poderoso e eficiente no Windows, simplificando a criação, o teste e a implantação de suas aplicações.
Antes de prosseguir com a instalação do Docker Engine, certifique-se de que:
- O WSL está instalado e funcionando corretamente
- Sua distribuição Linux está configurada para a versão 2 do WSL (verifique com
wsl -l -vno PowerShell)
Se ainda não instalou o WSL, consulte nosso guia anterior: “Instalando o WSL no Windows”
Instalando o Docker Engine (Nativo) no WSL
O exemplo a seguir utiliza o Ubuntu. Para outras distribuições, consulte a documentação oficial do Docker.
Passo 1: Preparando sua Distribuição
Abra o terminal da sua distribuição Linux no WSL.
Atualize os pacotes do sistema:
sudo apt-get update sudo apt-get upgrade -yInstale os pacotes de pré-requisito necessários para adicionar repositórios HTTPS e gerenciar certificados:
sudo apt-get install -y ca-certificates curl
Passo 3: Adicionar o Repositório Oficial do Docker
Conforme a documentação oficial do Docker:
Crie o diretório para armazenar as chaves GPG do APT, se ele ainda não existir, e defina as permissões corretas:
sudo install -m 0755 -d /etc/apt/keyringsBaixe a chave GPG oficial do Docker e salve-a no diretório de chaves:
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascGaranta que a chave GPG seja legível por todos os usuários (mas não gravável):
sudo chmod a+r /etc/apt/keyrings/docker.ascConfigure o repositório estável do Docker. Este comando detecta a arquitetura do seu sistema e a versão do Ubuntu para adicionar o repositório correto:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Passo 4: Instalar o Docker Engine
Atualize a lista de pacotes novamente para incluir os pacotes do repositório Docker recém-adicionado:
sudo apt-get updateInstale a versão mais recente do Docker Engine, CLI (Command Line Interface), Containerd (um runtime de container) e os plugins Docker Buildx e Docker Compose:
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Passo 5: Configurações Pós-Instalação Essenciais
Adicionar seu usuário ao grupo
dockerpara executar comandos Docker semsudo:sudo usermod -aG docker $USERImportanteApós executar este comando, você precisará fechar e reabrir seu terminal WSL. Uma reinicialização completa do WSL (
wsl --shutdownno PowerShell, seguido da reabertura do terminal WSL) também garante a aplicação.Iniciar o Serviço Docker:
sudo service docker startAvisoVocê precisará executar este comando toda vez que iniciar uma nova sessão WSL2, a menos que configure a inicialização automática abaixo.
(Opcional) Configurar Inicialização Automática do Docker com Systemd:
O
systemdé um sistema de inicialização e gerenciador de serviços para Linux. Habilitá-lo no WSL2 (se ainda não estiver) permite que serviços como o Docker iniciem automaticamente com a sua distribuição.Verificando se o
systemdestá ativo:ps -p 1 -o comm=Se o processo com PID 1 for
systemd, ele está ativo.Habilitando o
systemdno WSL2 (se necessário):Se o
systemdNÃO estiver ativo, você pode habilitá-lo editando (ou criando) o arquivo/etc/wsl.confna sua distribuição Linux. Adicione o seguinte conteúdo:[boot] systemd=trueSalve o arquivo. Em seguida, feche todas as instâncias da sua distribuição WSL2 e execute
wsl --shutdownno PowerShell do Windows. Ao reiniciar sua distribuição WSL2, osystemddeverá estar ativo.Habilitando e Iniciando o Docker com
systemd:Com o
systemdativo, você pode habilitar o Docker para iniciar automaticamente:sudo systemctl enable docker.service sudo systemctl enable containerd.service # containerd também é importantePara iniciar os serviços imediatamente (ou se eles não iniciaram automaticamente após o enable):
sudo systemctl start docker.service sudo systemctl start containerd.serviceApós habilitar e iniciar, o Docker deve iniciar automaticamente nas próximas vezes que você abrir sua distribuição WSL2.
Dicas
Certifique-se de que o serviço Docker está rodando (
sudo service docker statusdeve mostrar “active (running)”).Execute um container de teste:
docker run hello-world
Se a instalação foi bem-sucedida, você verá uma mensagem de boas-vindas do container hello-world.
Conclusão
Parabéns! Você instalou e configurou o Docker Engine diretamente em sua distribuição Linux no WSL2. Esta abordagem oferece um ambiente Docker leve, performático e com controle total, ideal para desenvolvimento e para as atividades da nossa Oficina de Ciência de Dados.
Com esta configuração, você está pronto para construir, executar e gerenciar containers, simplificando o gerenciamento de dependências e a criação de ambientes de desenvolvimento reproduzíveis.