GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Traefik für Docker-Container auf Ubuntu

In diesem Beitrag geht es um Traefik für Docker-Container.

Konfigurationseinführung

Wie die Magie passiert

Traefik für Docker-Container

Wenn Sie Docker noch nicht installiert haben, finden Sie Anleitungen für Ubuntu oder Debian. Dieses Handbuch verwendet docker-compose, um Traefik auszuführen, daher ist es notwendig, auch docker-compose zu installieren. Die beiden verlinkten Anleitungen helfen Ihnen, docker-compose auf Ihrem eigenen Host einzurichten.

Beginnen wir mit der Einrichtung von Traefik.

Erstellen Sie zuerst einige Dateien und Ordnerverzeichnisse für unsere Container:

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

Sicheres Passwort generieren

Erstellen Sie eine Konfigurationsdatei und richten Sie ein verschlüsseltes Passwort ein, um auf das Traefik-Dashboard zuzugreifen. Sie können das Dienstprogramm htpasswd verwenden, um das verschlüsselte Passwort zu erstellen. Um das Dienstprogramm htpasswd zu verwenden, installieren Sie das Dienstprogramm mit dem folgenden Befehl

$ sudo apt-get install -y apache2-utils

Führen Sie dann den folgenden Befehl aus, um das sichere Passwort zu generieren

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

Ich habe "unixcop@123" zum Verschlüsseln verwendet. Sie können Ihre eigenen Annahmen haben. Der Benutzer wird als „unixcop“ angenommen, Sie können ihn durch Ihren eigenen Benutzernamen ersetzen.

Kopieren Sie die automatisch generierte Ausgabe und speichern Sie sie irgendwo, da wir dieses verschlüsselte Passwort in der Traefik-Konfigurationsdatei verwenden müssen, um die grundlegende Authentifizierung für das Traefik-Dashboard einzurichten

traefik.yml

Als nächstes öffnen wir unsere neu erstellte Traefik-Konfigurationsdatei mit einem Editor Ihrer Wahl.

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

Erstellen Sie eine docker-compose.yml Datei, in der Sie einen reverse-proxy definieren Dienst, der das offizielle Traefik-Bild verwendet:

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

Mit unserer docker-compose.yml definieren wir den Traefik-Docker-Container mit allen Einstellungen und Konfigurationsdateien. Um Traefik zum Laufen zu bringen, müssen Sie nur einige Einstellungen anpassen:

  • ersetzen Sie beide traefik.domain.tld mit eigenem Domainnamen. Diese Domain sollte eine Subdomain wie zum Beispiel traefik.ae3.ch sein. Später können Sie mit dieser (Sub-)Domain auf Traefik Dasboard zugreifen.

Docker-Netzwerk für Traefik erstellen

Es ist eine gute Idee, ein separates Docker-Netzwerk einzurichten, das von Traefik und allen anderen Docker-Containern verwendet wird, die Sie Traefik zur Verfügung stellen möchten.

Um dieses Docker-Netzwerk zu erstellen, müssen Sie lediglich den folgenden Befehl in Ihre CLI einfügen:

docker network create proxy

Traefik ausführen

docker-compose up -d

Nach einigen Sekunden können Sie Ihr Traefik-Dashboard unter Ihrer benutzerdefinierten Domäne, die Sie in Ihrer docker-compose.yml

eingegeben haben, überprüfen und darauf zugreifen
Ubuntu
  1. So installieren Sie Docker unter Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  2. Firefox „klonen“ für Ubuntu?

  3. Virtualbox 5.1.2 für Ubuntu 14.04.5?

  4. Ist Ccleaner für Ubuntu von Vorteil?

  5. Apt-schnell für Ubuntu 14.04??

So verwalten Sie Docker-Container mit Rancher unter Ubuntu

So verwalten Sie Docker-Container mit Portainer unter Ubuntu

So installieren Sie Docker unter Ubuntu 20.04, 18.04, 21.04

So installieren Sie Docker-Container über Cockpit auf Ubuntu 20.04 LTS

So installieren Sie Docker unter Ubuntu 14.04

Verwenden Sie Ngnix als Proxy für Docker-Container unter Ubuntu