Docker Traefik · 6 min read · Feb 05, 2026

Guia Docker: Instalando Traefik - um Proxy Reverso Moderno para Microserviços

Traefik é um proxy reverso HTTP moderno e balanceador de carga para microserviços. Traefik torna fácil a implantação de todos os microserviços, integrado com componentes de infraestrutura existentes, como Docker, Swarm Mode, Kubernetes, Amazon ECS, Rancher, Etcd, Consul, etc.

Traefik serve como um roteador para todas as suas aplicações de microserviços, roteando todas as solicitações dos clientes para o destino correto dos microserviços.

Neste tutorial, vou mostrar passo a passo como instalar e configurar o proxy reverso moderno Traefik como um contêiner Docker no Ubuntu 18.04 LTS (Bionic Beaver).

Pré-requisitos

  • Ubuntu 18.04
  • Privilégios de root

O que faremos?

  1. Instalar Docker no Ubuntu 18.04
  2. Instalar Docker Compose
  3. Criar Rede Docker Personalizada
  4. Instalar e Configurar Traefik
  5. Testes

Passo 1 - Instalar Docker no Ubuntu 18.04

Para este guia, usaremos a versão mais recente do docker que pode ser instalada a partir do repositório oficial do docker.

Adicione a chave e o repositório do docker usando o comando abaixo.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  
sudo add-apt-repository \  
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \  
   $(lsb_release -cs) \  
   stable"

O comando ‘add-apt-repository’ atualizará automaticamente todos os repositórios.

Instalar Docker no Ubuntu

Agora instale o docker-ce mais recente.

sudo apt install docker-ce

Após a conclusão da instalação, inicie o serviço docker e habilite-o para iniciar sempre que o sistema for inicializado.

systemctl start docker  
systemctl enable docker

A edição comunitária do docker foi instalada no sistema Ubuntu 18.04, verifique a versão do docker instalada.

docker version

Verificar versão do docker

Adicional: Executando Docker para usuário não-root

O contêiner Docker pode ser executado sob um usuário não-root. Precisamos apenas adicionar o usuário ao grupo docker.

Adicione o usuário ‘mohammad’.

useradd -m -s /bin/bash mohammad

Agora adicione o usuário ‘mohammad’ ao grupo docker e reinicie o serviço docker.

usermod -a -G docker mohammad  
systemctl restart docker

Teste executando o hello-world do docker.

docker run -it hello-world

E o resultado será o seguinte.

Executando Docker para usuário não-root

Passo 2 - Instalar Docker Compose

Docker-Compose é uma ferramenta de linha de comando para definir e gerenciar aplicações docker de múltiplos contêineres.

Docker Compose é um script em python, pode ser instalado com o comando pip do python ou com o comando apt do repositório do Ubuntu facilmente. Com o compose, podemos executar múltiplos contêineres Docker com um único comando.

Instale o docker compose a partir do repositório usando o comando apt abaixo.

sudo apt install docker-compose

Após a conclusão da instalação, verifique a versão do docker compose.

docker-compose version

O docker compose 1.17 foi instalado no Ubuntu 18.04.

Instalar Docker Compose

Passo 3 - Criar Rede Docker Personalizada

Neste tutorial, o contêiner traefik estará rodando na rede docker personalizada. Portanto, precisamos criar uma nova rede docker personalizada no servidor.

Verifique a rede docker disponível no sistema.

docker network ls

Agora crie uma nova rede personalizada chamada ‘proxy’ para o contêiner traefik.

docker network create proxy

E você receberá uma string aleatória do nome do contêiner da rede. Verifique novamente a rede disponível.

docker network ls

Abaixo está o resultado.

Criar Rede Docker Personalizada

A rede docker personalizada chamada ‘proxy’ para traefik foi criada.

Passo 4 - Instalar e Configurar o Proxy Reverso Traefik

Neste passo, criaremos o contêiner traefik com HTTPS letsencrypt habilitado (usando um nome de domínio ‘traefik.hakase-labs.io’), e redirecionar automaticamente HTTP para HTTPS no traefik.

Pré-Instalação do Traefik

Antes de criar toda a configuração do traefik, precisamos instalar ‘apache2-utils’ para gerar a senha htpasswd criptografada e criar o novo diretório traefik.

Instale ‘apache2-utils’ usando o comando apt abaixo.

sudo apt install apache2-utils -y

Agora execute o comando htpasswd abaixo para gerar uma nova senha para a autenticação do painel do traefik.

htpasswd -nb mohammad password

Mantenha o resultado em suas anotações.

mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi.

Instalar e Configurar o Proxy Reverso Traefik

Em seguida, faça login como usuário ‘mohammad’.

su - mohammad

Crie um novo diretório chamado ‘traefik’ para toda a configuração do traefik.

mkdir -p traefik/  
cd traefik/

Criar Configuração do Traefik

Vá para o diretório ‘traefik’ e crie um novo arquivo de configuração ‘traefik.toml’ usando o editor vim.

cd traefik/  
vim traefik.toml

Cole a configuração abaixo.

#Traefik Global Configuration
debug = false
checkNewVersion = true
logLevel = "ERROR"

#Defina o EntryPoint para HTTP e HTTPS
defaultEntryPoints = ["https","http"]

#Habilite o Painel do Traefik na porta 8080
#com método de autenticação básica
#mohammad e password
[web]
address = ":8080"
[web.auth.basic]
users = ["mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi."]

#Defina a porta HTTP 80 e
#porta HTTPS 443 EntryPoint
#Habilite redirecionamento automático de HTTP para HTTPS
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]

#Habilite a reenvio de uma solicitação se houver erro de rede
[retry]

#Defina a Configuração do Backend Docker
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "traefik.hakase-labs.io"
watch = true
exposedbydefault = false

#Registro Letsencrypt
#Defina o desafio HTTP ACME do Letsencrypt
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
  [acme.httpChallenge]
  entryPoint = "http"

Salve e saia.

Nota:

Todas as informações sobre a configuração estão na seção de comentários ‘ #… ‘.

Criar Script Docker Compose do Traefik

Agora crie o script yml do docker-compose.

vim docker-compose.yml

Cole a configuração abaixo.

version: '3'

services:

  traefik:
    image: traefik:latest
    command: --docker --docker.domain=hakase-labs.io
    ports:
      - 80:80
      - 443:443
    networks:
      - proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
      - ./acme.json:/acme.json
    labels:
      - "traefik.frontend.rule=Host:traefik.hakase-labs.io"
      - "traefik.port=8080"
    container_name: traefik
    restart: always

networks:
  proxy:
    external: true

Salve e saia.

Nota:

  1. Estamos criando um novo contêiner chamado ‘traefik’ baseado na imagem docker ‘traefik:latest’.
  2. O contêiner ‘traefik’ estará rodando na rede docker personalizada chamada ‘proxy’ e exporá as portas externas HTTP 80 e HTTPS 443.
  3. O contêiner montará a configuração do traefik ‘traefik.toml’ e ‘acme.json’, incluindo o arquivo docker sock.
  4. Configuração de rótulo para traefik, o nome de domínio da frontend e a porta do traefik.

Configuração ACME do Letsencrypt

A configuração acme no ‘traefik.toml’ é usada para gerar automaticamente o SSL letsencrypt. E é necessário para o arquivo de armazenamento ‘acme.json’.

Crie um novo arquivo JSON ‘acme.json’ e mude a permissão para ‘600’.

touch acme.json  
chmod 600 acme.json

Todos os logs sobre informações do SSL letsencrypt serão salvos no arquivo.

Construir Contêiner Traefik

Agora estamos prontos para construir nosso próprio contêiner traefik usando os arquivos de configuração acima.

cd traefik/  
ls -lah

Todas as configurações ‘traefik.toml’, ‘docker-compose.yml’ e ‘acme.json’.

Construir Contêiner Traefik

Construa o contêiner usando o comando docker compose abaixo.

docker-compose up -d

Quando estiver completo, verifique o contêiner em execução.

docker-compose ps

E você verá o contêiner Traefik em execução, expondo as portas externas HTTP e HTTPS.

Passo 5 - Testes

Abra seu navegador e digite o nome de domínio traefik na barra de endereços. O meu é:

http://traefik.hakase-labs.io/

Você será redirecionado para a conexão HTTPS e será solicitado a autenticação de nome de usuário e senha.

Faça login com o usuário ‘mohammad’ e a senha é ‘password’.

E você verá o painel do Traefik como abaixo.

Painel do Traefik

Página de status de saúde do Traefik.

Página de status de saúde do Traefik

O proxy reverso HTTP moderno Traefik foi instalado como um contêiner Docker no Ubuntu 18.04.

Referência

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.