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?
- Instalar Docker en Ubuntu 18.04
- Instalar Docker Compose
- Crear una Red Docker Personalizada
- Instalar y Configurar Traefik
- 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.

Ahora instala la última versión de docker-ce.
sudo apt install docker-ceDespué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 dockerLa edición comunitaria de Docker se ha instalado en el sistema Ubuntu 18.04, verifica la versión de Docker instalada.
docker version
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 mohammadAhora agrega al usuario ‘mohammad’ al grupo de Docker, luego reinicia el servicio de Docker.
usermod -a -G docker mohammad
systemctl restart dockerPrueba ejecutando el hello-world de Docker.
docker run -it hello-worldY el resultado es el siguiente.

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-composeDespués de completar la instalación, verifica la versión de Docker Compose.
docker-compose versionLa versión 1.17 de Docker Compose se ha instalado en Ubuntu 18.04.

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 lsAhora crea una nueva red personalizada llamada ‘proxy’ para el contenedor de traefik.
docker network create proxyY recibirás una cadena aleatoria del nombre del contenedor de red. Verifica nuevamente la red disponible.
docker network lsA continuación se muestra el resultado.

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 -yAhora 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 passwordGuarda el resultado en tus notas.
mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi.
A continuación, inicia sesión como el usuario ‘mohammad’.
su - mohammadCrea 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.tomlPega 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.ymlPega 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: trueGuarda y sal.
Nota:
- Estamos creando un nuevo contenedor llamado ‘traefik’ basado en la imagen de Docker ‘traefik:latest’.
- El contenedor ‘traefik’ se ejecutará en la red personalizada de Docker llamada ‘proxy’ y expondrá los puertos externos HTTP 80 y HTTPS 443.
- El contenedor montará la configuración de traefik ‘traefik.toml’ y ‘acme.json’, incluido el archivo de socket de Docker.
- 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.jsonTodos 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 -lahToda la configuración ‘traefik.toml’, ‘docker-compose.yml’ y ‘acme.json’ archivos.

Construye el contenedor usando el comando de docker compose a continuación.
docker-compose up -dCuando esté completo, verifica el contenedor en ejecución.
docker-compose psY 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.

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
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.