Como Instalar Docker no Modo Swarm, Portainer e Traefik para um Sistema Completo
Çap et- 0
Como Instalar Docker no Modo Swarm, Portainer e Traefik para um Sistema Completo
Este tutorial detalha como configurar um ambiente completo utilizando Docker Swarm para orquestração de contêineres, Portainer para gerenciamento visual do Docker e Traefik como proxy reverso para gerenciar o tráfego de entrada de forma eficiente. Utilizaremos os repositórios oficiais para garantir que você esteja instalando as versões mais recentes.
Visão Geral do Processo
- Instalar o Docker
- Inicializar o Docker Swarm
- Implantar o Portainer
- Implantar o Traefik
Siga cada etapa cuidadosamente para garantir uma configuração bem-sucedida. Este ambiente permitirá que você gerencie facilmente seus contêineres e serviços Docker, além de fornecer uma interface amigável para monitoramento e controle.
1. Instalando o Docker
Primeiro, vamos instalar o Docker utilizando os repositórios oficiais para garantir que você obtenha a versão mais recente.
Para Ubuntu e Debian:
# Atualizar o sistema
sudo apt update && sudo apt upgrade -y
# Instalar dependências necessárias
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
# Adicionar a chave GPG oficial do Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Adicionar o repositório do Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Atualizar o índice de pacotes
sudo apt update
# Instalar o Docker Engine, CLI e Containerd
sudo apt install -y docker-ce docker-ce-cli containerd.io
# Verificar a instalação do Docker
sudo docker --version
Para CentOS/RHEL/AlmaLinux/RockLinux:
# Atualizar o sistema
sudo yum update -y
# Instalar dependências necessárias
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Adicionar o repositório oficial do Docker
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Instalar o Docker Engine, CLI e Containerd
sudo yum install -y docker-ce docker-ce-cli containerd.io
# Iniciar o serviço do Docker
sudo systemctl start docker
# Habilitar o Docker para iniciar no boot
sudo systemctl enable docker
# Verificar a instalação do Docker
sudo docker --version
sudo com comandos Docker, você pode adicionar seu usuário ao grupo docker:
sudo usermod -aG docker $USERDepois, faça logout e login novamente ou execute
newgrp docker.2. Inicializando o Docker Swarm
O Docker Swarm é uma ferramenta de orquestração que permite gerenciar múltiplos contêineres como um único cluster. Vamos inicializar o Swarm no seu servidor.
# Inicializar o Docker Swarm
sudo docker swarm init --advertise-addr
# Verificar o status do Swarm
sudo docker info | grep Swarm
Substitua <SEU_IP> pelo endereço IP do seu servidor. Após a execução, o comando docker info deve mostrar que o Swarm está ativo.
3. Implantando o Portainer
O Portainer é uma interface gráfica que facilita o gerenciamento de contêineres Docker. Vamos implantar o Portainer como um serviço no Docker Swarm.
# Criar uma rede overlay para o Portainer
sudo docker network create --driver=overlay portainer_network
# Implantar o Portainer
sudo docker service create \
--name portainer \
--publish 9000:9000 \
--replicas=1 \
--constraint 'node.role == manager' \
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=bind,src=portainer_data,dst=/data \
portainer/portainer-ce:latest \
-H unix:///var/run/docker.sock
http://<SEU_DOMÍNIO>:9000 ou http://:9000.4. Implantando o Traefik
Traefik é um proxy reverso moderno que facilita o gerenciamento de rotas de tráfego para seus serviços Docker. Vamos configurar o Traefik para trabalhar com o Portainer e outros serviços.
4.1. Criar uma Rede para o Traefik
# Criar uma rede para o Traefik
sudo docker network create --driver=overlay traefik_network
4.2. Criar um Arquivo de Configuração para o Traefik
Crie um arquivo traefik.toml para configurar o Traefik. Este exemplo básico configura o Traefik para usar o Docker como provedor.
# Criar o diretório de configuração
mkdir -p traefik/config
# Criar o arquivo traefik.toml
cat < traefik/config/traefik.toml
[entryPoints]
[entryPoints.web]
address = ":80"
[entryPoints.websecure]
address = ":443"
[providers.docker]
swarmMode = true
network = "traefik_network"
exposedByDefault = false
[api]
dashboard = true
insecure = true
EOF
4.3. Implantar o Traefik
# Implantar o Traefik como um serviço no Swarm
sudo docker service create \
--name traefik \
--constraint 'node.role == manager' \
--publish 80:80 \
--publish 443:443 \
--publish 8080:8080 \
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=bind,src=$(pwd)/traefik/config/traefik.toml,dst=/etc/traefik/traefik.toml \
--network traefik_network \
traefik:v2.9
http://<SEU_DOMÍNIO>. O dashboard do Traefik está disponível em http://<SEU_DOMÍNIO>:8080/dashboard/.5. Configurando o Portainer para Trabalhar com o Traefik
Agora, vamos configurar o Portainer para ser acessível através de um domínio utilizando o Traefik.
# Atualizar o serviço Portainer com labels do Traefik
sudo docker service update \
--label-add traefik.enable=true \
--label-add traefik.http.routers.portainer.rule="Host(`<SEU_DOMÍNIO_PORTAINER>`)" \
--label-add traefik.http.services.portainer.loadbalancer.server.port=9000 \
portainer
Substitua <SEU_DOMÍNIO_PORTAINER> pelo domínio que deseja usar para acessar o Portainer, por exemplo, portainer.seusite.com.
<SEU_DOMÍNIO_PORTAINER> aponte para o IP do seu servidor. Além disso, configure os registros DNS adequados para que o Traefik possa rotear o tráfego corretamente.6. Testando o Sistema Completo
Agora que todos os componentes estão instalados e configurados, vamos testar o acesso ao Portainer através do domínio configurado.
- Abra o navegador e acesse http://<SEU_DOMÍNIO_PORTAINER>.
- Você deve ver a interface de login do Portainer. Complete a configuração inicial se estiver acessando pela primeira vez.
- Acesse o dashboard do Traefik em http://<SEU_DOMÍNIO>:8080/dashboard/ para verificar as rotas configuradas.
Conclusão
Neste tutorial, você aprendeu a instalar e configurar Docker no modo Swarm, Portainer para gerenciamento visual e Traefik como proxy reverso para gerenciar o tráfego de entrada. Este ambiente fornece uma base sólida para gerenciar suas aplicações em contêineres de forma eficiente e escalável.
Para configurações avançadas e otimizações, consulte as documentações oficiais:
Se encontrar qualquer dificuldade durante o processo, não hesite em abrir um ticket de suporte ou entrar em contato conosco através de nossos canais de atendimento.
Bom trabalho e aproveite seu novo ambiente Docker!
