Como Instalar Docker no Modo Swarm, Portainer e Traefik para um Sistema Completo
Prindi- 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!