Docker Traefik · 6 min read · Feb 05, 2026

Guía de Docker: Instalación de Traefik - un Proxy Inverso Moderno para Microservicios

Traefik es un proxy inverso HTTP moderno y un equilibrador de carga para microservicios. Traefik facilita el despliegue de todos los microservicios, integrado con componentes de infraestructura existentes como Docker, Modo Swarm, Kubernetes, Amazon ECS, Rancher, Etcd, Consul, etc.

Traefik actúa como un enrutador para todas tus aplicaciones de microservicios, dirigiendo todas las solicitudes de los clientes a la correcta destino de microservicios.

En este tutorial, te mostraré paso a paso cómo instalar y configurar Traefik, un proxy inverso moderno, como un contenedor de Docker en Ubuntu 18.04 LTS (Bionic Beaver).

Requisitos Previos

  • Ubuntu 18.04
  • Privilegios de root

¿Qué haremos?

  1. Instalar Docker en Ubuntu 18.04
  2. Instalar Docker Compose
  3. Crear una Red Docker Personalizada
  4. Instalar y Configurar Traefik
  5. Pruebas

Paso 1 - Instalar Docker en Ubuntu 18.04

Para esta guía, utilizaremos la última versión de Docker que se puede instalar desde el repositorio oficial de Docker.

Agrega la clave y el repositorio de Docker usando el siguiente comando.

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"

El comando ‘add-apt-repository’ actualizará automáticamente todos los repositorios.

Instalar Docker en Ubuntu

Ahora instala la última versión de docker-ce.

sudo apt install docker-ce

Después de completar la instalación, inicia el servicio de Docker y habilítalo para que se inicie cada vez que arranque el sistema.

systemctl start docker  
systemctl enable docker

La edición comunitaria de Docker se ha instalado en el sistema Ubuntu 18.04, verifica la versión de Docker instalada.

docker version

Verificar versión de docker

Adicional: Ejecutar Docker para usuario no root

El contenedor de Docker se puede ejecutar bajo un usuario no root. Solo necesitamos agregar al usuario al grupo de Docker.

Agrega el usuario ‘mohammad’.

useradd -m -s /bin/bash mohammad

Ahora agrega al usuario ‘mohammad’ al grupo de Docker, luego reinicia el servicio de Docker.

usermod -a -G docker mohammad  
systemctl restart docker

Prueba ejecutando el hello-world de Docker.

docker run -it hello-world

Y el resultado es el siguiente.

Ejecutar Docker para usuario no root

Paso 2 - Instalar Docker Compose

Docker-Compose es una herramienta de línea de comandos para definir y gestionar aplicaciones de Docker de múltiples contenedores.

Docker Compose es un script de Python, se puede instalar con el comando pip de Python o con el comando apt del repositorio de Ubuntu fácilmente. Con Compose, podemos ejecutar múltiples contenedores de Docker con un solo comando.

Instala Docker Compose desde el repositorio usando el comando apt a continuación.

sudo apt install docker-compose

Después de completar la instalación, verifica la versión de Docker Compose.

docker-compose version

La versión 1.17 de Docker Compose se ha instalado en Ubuntu 18.04.

Instalar Docker Compose

Paso 3 - Crear Red Docker Personalizada

En este tutorial, el contenedor de traefik se ejecutará en la red personalizada de Docker. Así que necesitamos crear una nueva red personalizada de Docker en el servidor.

Verifica la red de Docker disponible en el sistema.

docker network ls

Ahora crea una nueva red personalizada llamada ‘proxy’ para el contenedor de traefik.

docker network create proxy

Y recibirás una cadena aleatoria del nombre del contenedor de red. Verifica nuevamente la red disponible.

docker network ls

A continuación se muestra el resultado.

Crear Red Docker Personalizada

La red personalizada de Docker llamada ‘proxy’ para traefik ha sido creada.

Paso 4 - Instalar y Configurar el Proxy Inverso Traefik

En este paso, crearemos el contenedor de traefik con HTTPS letsencrypt habilitado (usando un nombre de dominio ‘traefik.hakase-labs.io), y redirigir automáticamente HTTP a HTTPS en traefik.

Pre-Instalación de Traefik

Antes de crear toda la configuración de traefik, necesitamos instalar ‘apache2-utils’ para generar la contraseña htpasswd encriptada y crear el nuevo directorio de traefik.

Instala ‘apache2-utils’ usando el comando apt a continuación.

sudo apt install apache2-utils -y

Ahora ejecuta el comando htpasswd a continuación para generar una nueva contraseña para la autenticación del panel de control de traefik.

htpasswd -nb mohammad password

Guarda el resultado en tus notas.

mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi.

Instalar y Configurar el Proxy Inverso Traefik

A continuación, inicia sesión como el usuario ‘mohammad’.

su - mohammad

Crea un nuevo directorio llamado ‘traefik’ para toda la configuración de traefik.

mkdir -p traefik/  
cd traefik/

Crear Configuración de Traefik

Ve al directorio ‘traefik’ y crea un nuevo archivo de configuración ‘traefik.toml’ usando el editor vim.

cd traefik/  
vim traefik.toml

Pega la configuración a continuación.

#Configuración Global de Traefik
debug = false
checkNewVersion = true
logLevel = "ERROR"

#Definir el EntryPoint para HTTP y HTTPS
defaultEntryPoints = ["https","http"]

#Habilitar el Panel de Control de Traefik en el puerto 8080
#con método de autenticación básica
#mohammad y contraseña
[web]
address = ":8080"
[web.auth.basic]
users = ["mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi."]

#Definir el puerto HTTP 80 y
#puerto HTTPS 443 EntryPoint
#Habilitar redirección automática de HTTP a HTTPS
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]

#Habilitar reintento de envío de una solicitud si hay un error de red
[retry]

#Definir Configuración del Backend de Docker
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "traefik.hakase-labs.io"
watch = true
exposedbydefault = false

#Registro de Letsencrypt
#Definir el desafío HTTP de Letsencrypt ACME
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
  [acme.httpChallenge]
  entryPoint = "http"

Guarda y sal.

Nota:

Toda la información sobre la configuración está en la sección de comentarios ‘ #… ‘.

Crear Script de Docker Compose para Traefik

Ahora crea el script yml de docker-compose.

vim docker-compose.yml

Pega la configuración a continuación.

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

Guarda y sal.

Nota:

  1. Estamos creando un nuevo contenedor llamado ‘traefik’ basado en la imagen de Docker ‘traefik:latest’.
  2. El contenedor ‘traefik’ se ejecutará en la red personalizada de Docker llamada ‘proxy’ y expondrá los puertos externos HTTP 80 y HTTPS 443.
  3. El contenedor montará la configuración de traefik ‘traefik.toml’ y ‘acme.json’, incluido el archivo de socket de Docker.
  4. Configuración de etiquetas para traefik, el nombre de dominio del frontend y el puerto de traefik.

Configuración de Letsencrypt ACME

La configuración de acme en ‘traefik.toml’ se utiliza para generar automáticamente el SSL letsencrypt. Y se requiere para el archivo de almacenamiento ‘acme.json’.

Crea un nuevo archivo JSON ‘acme.json’ y cambia los permisos a ‘600’.

touch acme.json  
chmod 600 acme.json

Todos los registros sobre la información de SSL letsencrypt se guardarán en el archivo.

Construir Contenedor Traefik

Ahora estamos listos para construir nuestro propio contenedor traefik utilizando los archivos de configuración anteriores.

cd traefik/  
ls -lah

Toda la configuración ‘traefik.toml’, ‘docker-compose.yml’ y ‘acme.json’ archivos.

Construir Contenedor Traefik

Construye el contenedor usando el comando de docker compose a continuación.

docker-compose up -d

Cuando esté completo, verifica el contenedor en ejecución.

docker-compose ps

Y obtendrás el contenedor Traefik en funcionamiento, exponiendo los puertos externos HTTP y HTTPS.

Paso 5 - Pruebas

Abre tu navegador web y escribe el nombre de dominio de traefik en la barra de direcciones. El mío es:

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

Serás redirigido a la conexión HTTPS y se te pedirá la autenticación de nombre de usuario y contraseña.

Inicia sesión con el usuario ‘mohammad’ y la contraseña es ‘password’.

Y obtendrás el panel de control de Traefik como se muestra a continuación.

Panel de Control de Traefik

Página de estado de salud de Traefik.

Página de estado de salud de Traefik

El proxy inverso HTTP moderno de Traefik ha sido instalado como un contenedor de Docker en Ubuntu 18.04.

Referencia

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.