GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Traefik para contenedores Docker en Ubuntu

Esta publicación trata sobre Traefik para Docker Containers.

Introducción a la configuración

Cómo ocurre la magia

Traefik para contenedores Docker

Si aún no tiene Docker instalado, puede encontrar instrucciones para Ubuntu o Debian. Esta guía utiliza docker-compose para ejecutar Traefik, por lo que es necesario instalar también docker-compose. Las dos guías vinculadas lo ayudarán a configurar docker-compose en su propio host.

Empecemos configurando Traefik.

Primero, cree algunos archivos y un directorio de carpetas para nuestros contenedores:

mkdir -p /opt/containers/traefik
mkdir /opt/containers/traefik/data
touch /opt/containers/traefik/data/traefik.yml
touch /opt/containers/traefik/data/acme.json
chmod 600 /opt/containers/traefik/data/acme.json

Generar contraseña segura

Cree archivos de configuración y configure una contraseña cifrada para acceder al panel de control de traefik. Puede utilizar la utilidad htpasswd para crear la contraseña cifrada. Para usar la utilidad htpasswd, instale la utilidad con el siguiente comando

$ sudo apt-get install -y apache2-utils

Luego ejecute el siguiente comando para generar la contraseña segura

$sudo htpasswd -nb unixcop unixcop@123
unixcop:$$apr1$$zUb/YuK2$$57psQ0U71DlfdHPr0yoHe/

He usado "unixcop@123" para cifrar. Puedes tener tus propias suposiciones. El usuario se toma como "unixcop", puede reemplazarlo con su propio nombre de usuario.

Copie la salida generada automáticamente y guárdela en algún lugar, ya que necesitamos usar esta contraseña cifrada en el archivo de configuración de Traefik para configurar la autenticación básica para el tablero de Traefik

traefik.yml

A continuación, abrimos nuestro archivo de configuración traefik recién creado con un editor de su elección.

vim /opt/containers/traefik/data/traefik.yml
api:
  dashboard: true
entryPoints:
  http:
    address: ":80"
  https:
    address: ":443"
providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false
certificatesResolvers:
  http:
    acme:
      email: [email protected]   # CHANGE HERE
      storage: acme.json
      httpChallenge:
        entryPoint: http

Crea un docker-compose.yml archivo donde definirá un reverse-proxy servicio que utiliza la imagen oficial de Traefik:

docker-compose.yml

version: '3'
services:
  traefik:
    image: traefik:latest
    container_name: traefik
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    networks:
      - proxy
    ports:
      - 80:80
      - 443:443
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./data/traefik.yml:/traefik.yml:ro
      - ./data/acme.json:/acme.json
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.traefik.entrypoints=http"
      - "traefik.http.routers.traefik.rule=Host(`traefik.domain.tld`)"
      - "traefik.http.middlewares.traefik-auth.basicauth.users=unixcop:$$apr1$$zUb/YuK2$$57psQ0U71DlfdHPr0yoHe"
      - "traefik.http.middlewares.traefik-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.traefik.middlewares=traefik-https-redirect"
      - "traefik.http.routers.traefik-secure.entrypoints=https"
      - "traefik.http.routers.traefik-secure.rule=Host(`traefik.domain.tld`)"
      - "traefik.http.routers.traefik-secure.middlewares=traefik-auth"
      - "traefik.http.routers.traefik-secure.tls=true"
      - "traefik.http.routers.traefik-secure.tls.certresolver=http"
      - "traefik.http.routers.traefik-secure.service=api@internal"
networks:
  proxy:
    external: true

Con nuestro docker-compose.yml estamos definiendo el contenedor acoplable Traefik con todas las configuraciones y archivos de configuración. Para poner en marcha Traefik, solo necesita ajustar algunas configuraciones:

  • reemplace ambos traefik.domain.tld con su propio nombre de dominio. Este dominio debe ser un subdominio como traefik.ae3.ch por ejemplo. Posteriormente podrá acceder a Traefik Dashboard con este (sub)dominio.

Crear red Docker para Traefik

Es una buena idea configurar una red acoplable separada que sea utilizada por Traefik y todos los demás contenedores acoplables que le gustaría poner a disposición de Traefik.

Para crear esta red acoplable, todo lo que necesita hacer es pegar el siguiente comando en su CLI:

docker network create proxy

Ejecutar Traefik

docker-compose up -d

Después de unos segundos, puede verificar y acceder a su Tablero de Traefik en su Dominio personalizado que ingresó en su docker-compose.yml


Ubuntu
  1. ¿Firefox “clon” para Ubuntu?

  2. ¿Problemas de Docker en Ubuntu 20.04?

  3. ¿Ccleaner es beneficioso para Ubuntu?

  4. ¿Apt-rápido para Ubuntu 14.04?

  5. ¿Alexa para Ubuntu?

Cómo administrar contenedores Docker con Rancher en Ubuntu

Cómo administrar contenedores Docker usando Portainer en Ubuntu

Cómo instalar Docker en Ubuntu 20.04, 18.04, 21.04

Cómo instalar contenedores Docker a través de Cockpit en Ubuntu 20.04 LTS

Cómo instalar Docker en Ubuntu 14.04

Utilice Ngnix para utilizar contenedores Docker en Ubuntu