Instalando o Docker no Ubuntu 22.04: Um Guia Detalhado
Instalando o Docker no Ubuntu 22.04: Um Guia Detalhado
Introdução ao Docker e Sua Importância no Desenvolvimento de Software
O Docker é uma plataforma que permite criar, implantar e executar aplicações em containers. Containers são ambientes isolados e portáteis que garantem que um software funcione de maneira idêntica em qualquer sistema, eliminando problemas de compatibilidade. Essa abordagem facilita o desenvolvimento, a distribuição e a escalabilidade de aplicações.
Os containers diferem das máquinas virtuais, pois compartilham o mesmo kernel do sistema operacional, tornando-os mais leves e rápidos. Isso é especialmente útil para desenvolvedores que precisam criar ambientes consistentes para testes, desenvolvimento e produção, sem conflitos de dependências.
Explicação Passo a Passo dos Comandos
Atualização do Sistema
sudo apt update && sudo apt upgrade -y
Esse comando atualiza a lista de pacotes disponíveis e instala as versões mais recentes dos pacotes já instalados no sistema. Isso garante que todos os pacotes estejam atualizados antes da instalação do Docker.
Instalação de Dependências Essenciais
sudo apt install -y ca-certificates curl gnupg
Este comando instala três pacotes fundamentais para a instalação do Docker:
- ca-certificates: Contém certificados SSL necessários para que o sistema possa verificar a autenticidade de conexões seguras. O Docker precisa desses certificados para baixar pacotes e se comunicar com servidores remotos de maneira segura.
- curl: Uma ferramenta para transferir dados usando diversos protocolos, incluindo HTTP e HTTPS. Ele é essencial para baixar arquivos e instalar componentes adicionais.
- gnupg: Fornece ferramentas para criptografia e verificação de assinaturas digitais. O Docker usa o GPG (GNU Privacy Guard) para garantir que os pacotes baixados sejam autênticos e não tenham sido alterados.
Adição da Chave GPG do Repositório Oficial do Docker
sudo install -m 0755 -d /etc/apt/keyrings
Este comando cria um diretório chamado keyrings dentro de /etc/apt/, onde serão armazenadas as chaves GPG. A opção -m 0755 define permissões para que apenas o dono do diretório possa modificá-lo, garantindo segurança.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.gpg > /dev/null
Esse comando:
- Usa curl -fsSL para baixar a chave GPG do repositório oficial do Docker.
- sudo tee /etc/apt/keyrings/docker.gpg grava a chave no arquivo docker.gpg dentro do diretório /etc/apt/keyrings/.
- O > /dev/null descarta a saída padrão para evitar que seja exibida no terminal.
A chave GPG é usada para verificar a autenticidade dos pacotes do Docker antes da instalação.
Adição do Repositório Oficial do Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Aqui estamos adicionando o repositório oficial do Docker à lista de fontes do apt.
Explicação dos componentes:
- arch=$(dpkg --print-architecture): Obtém a arquitetura do sistema (por exemplo, amd64 para sistemas de 64 bits).
- signed-by=/etc/apt/keyrings/docker.gpg indica que os pacotes desse repositório devem ser assinados pela chave GPG adicionada anteriormente.
- https://download.docker.com/linux/ubuntu: URL oficial dos pacotes do Docker para Ubuntu.
- $(lsb_release -cs): Obtém o nome da versão do Ubuntu instalada, garantindo compatibilidade com o repositório correto.
- stable: Instala apenas versões estáveis do Docker.
- sudo tee /etc/apt/sources.list.d/docker.list adiciona esse repositório ao arquivo docker.list.
- > /dev/null evita exibir a saída no terminal.
Após adicionar o repositório, atualizamos o índice de pacotes para incluir os novos pacotes disponíveis:
sudo apt update
Instalação do Docker e Componentes Necessários
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Explicação de cada componente:
- docker-ce (Community Edition): O motor principal do Docker, responsável por criar e gerenciar containers.
- docker-ce-cli (Command Line Interface): A interface de linha de comando do Docker, permitindo rodar comandos como docker run, docker ps, etc.
- containerd.io: Um runtime de container que gerencia a execução de containers no sistema, garantindo estabilidade e desempenho.
- docker-buildx-plugin: Plugin que aprimora a construção de imagens Docker, permitindo uso de builders avançados.
- docker-compose-plugin: Plugin do docker-compose, essencial para gerenciar múltiplos containers com arquivos docker-compose.yml.
Verificação da Instalação
sudo docker run hello-world
Este comando executa um container de teste chamado hello-world. Se o Docker estiver instalado corretamente, ele imprimirá uma mensagem de sucesso no terminal.
Execução do Docker sem sudo
sudo groupadd docker
Cria um grupo chamado docker (caso ainda não exista).
sudo usermod -aG docker $USER
Adiciona o usuário atual ao grupo docker, permitindo rodar comandos sem precisar do sudo.
Para que essa alteração tenha efeito, reinicie a sessão ou rode:
newgrp docker
Por Que Não Usamos Apenas apt install docker?
Uma abordagem mais simples seria rodar:
sudo apt install docker
No entanto, essa versão disponível nos repositórios padrão do Ubuntu pode estar desatualizada ou não conter todos os componentes essenciais. Optamos por instalar diretamente do repositório oficial do Docker porque:
✅ Versões mais recentes: Instalamos a versão mais atual e estável do Docker.
✅ Mais funcionalidades: Incluímos docker-compose, buildx e containerd, que são essenciais para desenvolvimento moderno.
✅ Maior segurança: Os pacotes vêm diretamente do Docker, garantindo autenticidade e suporte atualizado.
Seguindo esse método, garantimos que o ambiente esteja sempre atualizado, seguro e com todos os componentes necessários para desenvolvimento profissional.
Agora que o Docker está instalado e funcionando corretamente, podemos prosseguir para a configuração do VS Code para desenvolvimento com Docker. 🚀