Este tutorial descreve os passos necessários para instalar o Docker no Debian de forma prática e personalizada, incluindo a configuração de partições, instalação de dependências e alteração da rede com suporte a IPv6. Ao seguir este guia, você estará preparado para utilizar o Docker em diferentes cenários, ajustando a instalação conforme suas necessidades. Clique no link para saber mais sobre o Docker Introdução ao Docker: Conceitos e Arquitetura.
Se você está instalando o Docker em um ambiente virtualizado, como KVM, o disco pode ter uma nomeclatura diferente, como /dev/vdb. Caso esteja utilizando um sistema físico, o dispositivo pode ser diferente, como /dev/sda. Este passo é opcional, mas útil quando você deseja separar os dados dos containers em um disco dedicado.
Passos:
sudo mkfs.ext4 ${DISK_DEVICE}1
UUID=$(sudo blkid -o export ${DISK_DEVICE}1 | grep UUID | grep -v PARTUUID) sudo mkdir -p ${MOUNT_POINT} sudo cp -p /etc/fstab{,.dist} echo "${UUID} ${MOUNT_POINT} ext4 defaults 1 2" | sudo tee -a /etc/fstab sudo mount ${MOUNT_POINT}
df -hT | grep docker
Certifique-se de que o UUID da partição está correto e que o ponto de montagem está acessível.
Antes de instalar o Docker, é fundamental garantir que seu sistema esteja atualizado. Execute os seguintes comandos para atualizar os pacotes:
sudo apt update sudo apt upgrade
Isso garantirá que você tenha as versões mais recentes de todos os pacotes e dependências necessárias para a instalação do Docker.
Para que o Docker funcione corretamente no Debian, você precisará instalar algumas dependências essenciais. Elas garantem que o sistema possa se comunicar com repositórios externos de maneira segura e reconheça os pacotes Docker.
Execute o comando abaixo para instalar essas dependências:
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
Explicação:
apt-transport-https: Necessário para permitir que o apt acesse repositórios via HTTPS.ca-certificates: Instala os certificados de CA (Certificate Authority), que validam a comunicação segura com servidores HTTPS.curl: Ferramenta de linha de comando para transferir dados usando vários protocolos, incluindo o download de chaves GPG.gnupg: Conjunto de ferramentas para gerenciamento de chaves criptográficas.lsb-release: Fornece informações sobre a distribuição do sistema, útil para garantir a compatibilidade dos pacotes.A chave GPG oficial do Docker é necessária para garantir que os pacotes instalados a partir do repositório Docker sejam autênticos e não tenham sido modificados.
Use o comando abaixo para adicionar a chave GPG oficial:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Explicação:
curl -fsSL: Baixa o arquivo de forma silenciosa (-s), sem erros (-f), e imprime o conteúdo diretamente (-L).gpg –dearmor: Converte a chave GPG baixada no formato necessário para ser utilizada pelo sistema.Agora que a chave GPG foi adicionada, precisamos configurar o repositório Docker no Debian, para garantir que sempre obteremos a versão mais recente e estável do Docker diretamente da fonte oficial.
Adicione o repositório com o seguinte comando:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Explicação:
dpkg –print-architecture: Retorna a arquitetura do sistema (por exemplo, amd64), garantindo que você baixe a versão correta.lsb_release -cs: Retorna o codinome da versão do Debian (ex: buster, bullseye), para configurar o repositório de acordo com sua versão.signed-by: Especifica o arquivo da chave GPG para garantir a autenticidade dos pacotes.Após adicionar o repositório, atualize a lista de pacotes com o novo repositório:
sudo apt update
Agora que as dependências e o repositório Docker estão configurados, você pode instalar o Docker e seus componentes principais. Execute o seguinte comando para realizar a instalação:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Componentes Instalados:
docker-ce: Docker Community Edition, a versão estável e gratuita do Docker.docker-ce-cli: Ferramentas de linha de comando para interagir com o Docker.containerd.io: Serviço para gerenciar containers em segundo plano.docker-compose-plugin: Ferramenta para trabalhar com múltiplos containers usando arquivos YAML.
Para evitar ter que usar o comando sudo sempre que executar o Docker, você pode adicionar seu usuário ao grupo docker. Isso permite que você execute comandos do Docker diretamente, sem precisar de permissões administrativas.
Adicione seu usuário ao grupo com o comando:
sudo usermod -aG docker $USER
Após isso, é necessário sair da sessão e entrar novamente para que as alterações tenham efeito. Caso você não queira sair e entrar, pode aplicar a mudança imediatamente com o seguinte comando:
newgrp docker
Explicação:
usermod -aG docker $USER: Adiciona o usuário atual ($USER) ao grupo docker, preservando os grupos atuais do usuário.newgrp docker: Atualiza a sessão atual para refletir as mudanças de grupos, sem a necessidade de reiniciar ou fazer logout/login.
Nota de Segurança: Mesmo que isso simplifique o uso do Docker, adicionar usuários ao grupo
docker pode representar um risco de segurança, pois quem faz parte deste grupo tem permissões equivalentes ao root. Para ambientes de produção, considere alternativas seguras.
Agora que o Docker está instalado, vamos garantir que ele esteja funcionando corretamente. Siga os passos abaixo para verificar a instalação:
Este comando exibe a versão do Docker que foi instalada, garantindo que o pacote foi instalado corretamente:
docker --version
O contêiner hello-world é uma maneira rápida e fácil de testar se o Docker está funcionando conforme esperado. Execute o contêiner de teste com o comando:
docker run hello-world
Se a instalação estiver correta, você verá uma mensagem confirmando que o Docker foi instalado com sucesso e que o contêiner de teste foi executado.
Verifique se o serviço do Docker está rodando corretamente:
sudo systemctl status docker
Se todas as verificações passarem sem erros, o Docker foi instalado com sucesso e está pronto para ser usado.
Se você precisa alterar a configuração de rede padrão do Docker e habilitar o suporte a IPv6, é possível fazer isso modificando o arquivo de configuração do Docker (daemon.json). Esta configuração permite definir endereços IPv6, redes personalizadas e faixas de endereçamento.
Passos para Configuração:
daemon.json:
Para alterar as configurações de rede do Docker, edite ou crie o arquivo /etc/docker/daemon.json com o seguinte conteúdo:
{
"ipv6": true,
"ip6tables": true,
"experimental": true,
"fixed-cidr-v6": "fd00::/64",
"default-address-pools": [
{"base": "192.168.0.0/16", "size": 24},
{"base": "fd00::/56", "size": 64}
]
}
Explicação:
“ipv6”: true: Habilita o suporte a IPv6 no Docker.“ip6tables”: true: Permite o uso de ip6tables para filtrar pacotes IPv6.“experimental”: true: Ativa recursos experimentais no Docker.“fixed-cidr-v6”: “fd00::/64”: Define uma faixa fixa de endereços IPv6 para uso pelos containers.“default-address-pools”: Define faixas de endereços para redes IPv4 e IPv6, que serão usadas ao criar redes Docker personalizadas.2. Reinicie o serviço Docker:
Após modificar o arquivo de configuração, é necessário reiniciar o serviço Docker para aplicar as mudanças:
sudo systemctl restart docker
Para garantir que o Docker está usando a nova configuração de rede, execute o seguinte comando para listar as interfaces de rede:
ip -br a s docker0
Isso indica que a interface docker0 foi configurada com IPv4 e IPv6.
Agora você pode criar uma rede personalizada no Docker, definindo faixas de endereçamento IPv4 e IPv6:
docker network create --subnet="192.168.1.0/24" --gateway="192.168.1.1" \ --subnet="fd00:0:0:1::/64" --gateway="fd00:0:0:1::1" --ipv6 zbx-network
Explicação:
–subnet: Define a faixa de endereçamento da rede para IPv4 e IPv6.–gateway: Especifica o gateway para ambas as redes (IPv4 e IPv6).–ipv6: Habilita o suporte a IPv6 na nova rede.zbx-network: Nome da rede Docker criada.
A configuração de redes personalizadas e o uso de IPv6 são particularmente úteis em ambientes que requerem maior controle sobre a topologia de rede, como em clusters ou quando múltiplas redes precisam ser separadas. Para ambientes de produção, considere configurar regras adequadas de firewall e monitoramento de rede.
Este tutorial guiou você pela instalação do Docker no Debian, desde a criação de partições (opcional), atualização de pacotes, instalação de dependências, configuração do repositório Docker, até a alteração da rede padrão e suporte a IPv6 (opcional). Seguindo estes passos, você estará pronto para começar a usar o Docker em seu sistema.