Dominando o Docker Swarm
Aprenda a criar uma infraestrutura de produção robusta, escalável e segura usando Docker SwarmOrquestrador nativo do Docker que permite gerenciar múltiplos containers em múltiplos servidores como se fossem um só. e TraefikProxy reverso moderno que gerencia automaticamente rotas e certificados SSL para seus serviços..
Para quem é este guia?
Desenvolvedores e empreendedores que desejam ter controle total sobre sua infraestrutura, fugir de custos altos de plataformas (PaaS) e escalar aplicações com profissionalismo.
O que você vai conquistar
- Servidor próprio configurado do zero
- HTTPS Automático em todos os domínios
- Gestão visual de containers
O que você vai precisar
Hardware Recomendado
- • VPSVirtual Private Server. Um servidor virtual alugado em nuvem. com Ubuntu 20.04 ou superior
- • Mínimo 2 vCPUs
- • Mínimo 4GB de RAM
Acessos Necessários
- • Um domínio registrado (ex: seudominio.com)
- • Acesso SSHSecure Shell. Protocolo seguro para acessar e comandar o servidor remotamente. ao servidor
- • Permissões de administrador (sudo)
Entenda os conceitos antes de digitar
O que é Docker e Containers?
O que é Docker Swarm?
O que é Traefik?
Preparando o Servidor
Acesse seu servidor via SSH e execute os comandos abaixo para garantir que tudo está atualizado e seguro.
# Atualizar lista de pacotes e o sistema
sudo apt update && sudo apt upgrade -y
# Instalar ferramentas essenciais
sudo apt install -y curl git apt-transport-https ca-certificates software-properties-commonInstalando o Docker
# Baixar e instalar automaticamente via script oficial
curl -fsSL https://get.docker.com | sh
# Adicionar seu usuário ao grupo do Docker (para não precisar usar sudo sempre)
sudo usermod -aG docker $USER
# ATENÇÃO: É necessário sair e entrar novamente no SSH para aplicar a permissão acima
exitIniciando o Cluster (Swarm)
Agora vamos transformar este servidor em um "Manager" do Swarm e criar a rede pública onde os serviços irão trafegar.
# Iniciar o Swarm (Substitua PUBLIC_IP pelo IP do seu servidor)
docker swarm init --advertise-addr SEU_IP_PUBLICO
# Criar a rede overlay (rede criptografada do Swarm)
docker network create --driver=overlay traefik_publicDica de Segurança
traefik_public é a única que será exposta à internet através do Traefik. Seus bancos de dados devem ficar em redes internas privadas.Instalando o Traefik & Portainer
Vamos criar nossa stack de gerenciamento. Copie o nosso gerador de stack para Infraestrutura e gere o arquivo. Ou use este modelo base:
Ver Modelo traefik-portainer.yaml
Salve o conteúdo acima em um arquivo chamado infra.yaml e execute:
docker stack deploy -c infra.yaml infra