GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren und verwenden Sie Traefik als Reverse Proxy mit Docker unter CentOS 8

Traefik ist ein Open-Source-HTTP-Reverse-Proxy und Load-Balancer, mit dem Sie Microservices einfach bereitstellen können. Sie können es einfach in Ihre Infrastrukturkomponenten integrieren, darunter Docker, Kubernetes, Docker Swarm, Rancher, AWS und viele mehr. Wenn Sie mehrere Anwendungen auf demselben Docker-Host ausführen möchten, können Sie Traefik als Reverse-Proxy verwenden, um die Ports 80 und 443 für den Rest der Welt verfügbar zu machen.

In diesem Tutorial zeigen wir Ihnen, wie Sie Traefik als Reverse-Proxy unter CentOS 8 installieren und konfigurieren.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Ein gültiger Domainname, auf den Ihre Server-IP verweist.
  • Ein Root-Passwort wird auf dem Server konfiguriert.

Installieren Sie Docker und Docker Compose

Zunächst müssen Sie die neueste Version von Docker und Docker Compose in Ihrem System installieren. Standardmäßig ist Docker im CentOS 8-Standardrepo nicht verfügbar. Sie müssen also das Docker CE-Repo in Ihrem System hinzufügen. Sie können es mit dem folgenden Befehl hinzufügen:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Sobald das Repo erstellt ist, installieren Sie Docker CE mit dem folgenden Befehl:

dnf install docker-ce --nobest -y

Sobald Docker installiert ist, starten Sie den Docker-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start docker
systemctl enable docker

Um Docker Compose zu installieren, müssen Sie Curl installieren und die Docker Compose-Binärdatei in Ihr System herunterladen. Sie können dies mit dem folgenden Befehl tun:

dnf install curl
curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Docker-Netzwerk erstellen

Als Nächstes müssen Sie ein neues Docker-Netzwerk erstellen, um den Traefik-Container auszuführen. Sie können es mit dem Namen „web“ erstellen, indem Sie den folgenden Befehl ausführen:

docker network create web

Als nächstes überprüfen Sie Ihr Netzwerk mit dem folgenden Befehl:

docker network ls

Sie sollten die folgende Ausgabe erhalten:

NETWORK ID          NAME                DRIVER              SCOPE
76a9475e5ab0        bridge              bridge              local
2a3d79f64747        host                host                local
4c9123229eaa        none                null                local
0b6e010b43d0        web                 bridge              local

Traefik-Proxy installieren und konfigurieren

Bevor Sie beginnen, müssen Sie httpd-tools installieren, um das verschlüsselte Passwort zu generieren. Sie können dieses Tool mit dem folgenden Befehl installieren:

dnf install httpd-tools -y

Generieren Sie nach der Installation das verschlüsselte Passwort mit dem folgenden Befehl:

htpasswd -nb admin my_password

Sie sollten die folgende Ausgabe erhalten:

admin:$apr1$wpdR.4yZ$UpbjGS7ZFq4pZHalhH1Tl0

Als nächstes erstellen Sie eine neue Traefik-Konfigurationsdatei mit dem folgenden Befehl:

nano traefik.toml

Fügen Sie die folgenden Zeilen hinzu, einschließlich Ihres gültigen Domänennamens, Ihres gesicherten Passworts und Ports:

defaultEntryPoints = ["http", "https"]

[entryPoints]
  [entryPoints.dashboard]
    address = ":8080"
    [entryPoints.dashboard.auth]
      [entryPoints.dashboard.auth.basic]
        users = ["admin:$apr1$wpdR.4yZ$UpbjGS7ZFq4pZHalhH1Tl0"]
  [entryPoints.http]
    address = ":80"
      [entryPoints.http.redirect]
        entryPoint = "https"
  [entryPoints.https]
    address = ":443"
      [entryPoints.https.tls]

[api]
entrypoint="dashboard"

[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
  [acme.httpChallenge]
  entryPoint = "http"

[docker]
domain = "traefik.linuxbuz.com"
watch = true
network = "web"

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Erstellen Sie dann eine leere Datei, um Ihre Let’s Encrypt-Informationen zu speichern.

touch acme.json

Als nächstes erteilen Sie dieser Datei mit dem folgenden Befehl die richtige Berechtigung:

chmod 600 acme.json

Erstellen Sie eine Docker-Compose-Datei

Als Nächstes müssen Sie eine neue docker-compose.yml-Datei erstellen und Ihre Domäne, Ihren Port, Ihr Netzwerk und Ihr Volume definieren.

Sie können es mit dem folgenden Befehl erstellen:

nano docker-compose.yml

Fügen Sie die folgenden Zeilen hinzu:

version: '3'

services:

  traefik:
    image: traefik:1.7.21-alpine
    command: --docker --docker.domain=linuxbuz.com
    ports:
      - 80:80
      - 443:443
    networks:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
      - ./acme.json:/acme.json
    labels:
      - "traefik.frontend.rule=Host:traefik.linuxbuz.com"
      - "traefik.port=8080"
    container_name: traefik
    restart: always

networks:
   web:
    external: true

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Traefik-Docker-Container erstellen

An diesem Punkt ist die Konfigurationsdatei von Traefik und Docker Compose fertig. Erstellen Sie nun den Traefik-Container mit dem folgenden Befehl:

docker-compose up -d

Sie sollten die folgende Ausgabe erhalten:

Unable to find image 'traefik:1.7.21-alpine' locally
1.7.21-alpine: Pulling from library/traefik
c9b1b535fdd9: Pull complete 
c141e361698e: Pull complete 
2573c02b6f16: Pull complete 
1619fb3841d1: Pull complete 
Digest: sha256:0e4ac8ae724603898620dbd5eb9cda7ec05f405d25476eb0d32b716b490ba079
Status: Downloaded newer image for traefik:1.7.21-alpine
27e735357bb3b7d2d253ff78ddf6e78896851420eff399e8ade23affc7ff0bf7

Überprüfen Sie als Nächstes den laufenden Container mit dem folgenden Befehl:

docker ps

Sie sollten die folgende Ausgabe erhalten:

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                                      NAMES
7604696507a5        traefik:1.7.21-alpine   "/entrypoint.sh --do…"   6 seconds ago       Up 4 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   traefik

Zugriff auf die Traefik-Webschnittstelle

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL https://traefik.linuxbuz.com auf die Traefik-Weboberfläche zu. Sie werden nach Benutzername und Passwort gefragt:

Geben Sie den Benutzernamen als Admin und das Passwort ein, das Sie zuvor generiert haben, und klicken Sie auf das Zeichen in Taste. Sie sollten das Traefik-Dashboard auf dem folgenden Bildschirm sehen:

Klicken Sie auf GESUNDHEIT Tab. Sie sollten den Integritätsstatus des Traefik-Containers auf dem folgenden Bildschirm sehen:

Schlussfolgerung

Herzliche Glückwünsche! Sie haben den Traefik-Proxy erfolgreich auf CentOS 8 installiert. Weitere Informationen finden Sie in der Traefik-Dokumentation.


Cent OS
  1. So installieren und verwenden Sie Docker Compose unter CentOS

  2. So installieren Sie Odoo 11 auf CentOS 7 mit Nginx als Reverse Proxy

  3. So installieren Sie Odoo 10 auf CentOS 7 mit Nginx als Reverse Proxy

  4. So installieren Sie Flectra unter CentOS 8 mit Nginx als Reverse Proxy

  5. So installieren Sie Odoo 14 auf CentOS 8 mit Nginx als Reverse Proxy

So installieren Sie ReactJS mit Nginx-Proxy unter CentOS 8

So installieren und verwenden Sie Nginx Proxy Manager mit Docker

So installieren und verwenden Sie Docker Compose unter CentOS 8

So installieren und verwenden Sie TermRecord unter CentOS 8

So installieren und verwenden Sie Traceroute unter CentOS 7

So installieren und verwenden Sie Docker unter CentOS 8