GNU/Linux >> Znalost Linux >  >> Ubuntu

Traefik pro Docker Containers na Ubuntu

Tento příspěvek je o Traefik for Docker Containers.

Úvod do konfigurace

Jak se děje kouzlo

Traefik for Docker Containers

Pokud ještě nemáte nainstalovaný docker, můžete najít pokyny pro Ubuntu nebo Debian. Tato příručka používá ke spuštění Traefiku docker-compose, proto je nutné nainstalovat také docker-compose. Dva propojené příručky vám pomohou nastavit docker-compose na vašem vlastním hostiteli.

Začněme nastavením Traefik.

Nejprve vytvořte několik souborů a adresářů složek pro naše kontejnery:

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

Vygenerovat bezpečné heslo

Vytvořte konfigurační soubory a nastavte šifrované heslo pro přístup k řídicímu panelu traefik. K vytvoření šifrovaného hesla můžete použít nástroj htpasswd. Chcete-li použít nástroj htpasswd, nainstalujte nástroj pomocí následujícího příkazu

$ sudo apt-get install -y apache2-utils

Poté spusťte následující příkaz pro vygenerování bezpečného hesla

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

K šifrování jsem použil „unixcop@123“. Můžete mít své vlastní předpoklady. Uživatel je považován za „unixcop“, můžete jej nahradit svým vlastním uživatelským jménem.

Zkopírujte automaticky generovaný výstup a někde jej uložte, protože toto zašifrované heslo potřebujeme použít v konfiguračním souboru Traefik k nastavení základního ověřování pro řídicí panel Traefik

traefik.yml

Dále otevřeme náš nově vytvořený konfigurační soubor traefik s editorem dle vašeho výběru.

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

Vytvořte docker-compose.yml soubor, kde budete definovat reverse-proxy služba, která používá oficiální obrázek 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

S naším docker-compose.yml definujeme kontejner Traefik docker se všemi nastaveními a konfiguračními soubory. Abyste Traefik zprovoznili, stačí upravit některá nastavení:

  • nahraďte obě traefik.domain.tld s vlastním názvem domény. Tato doména by měla být subdoménou, jako je například traefik.ae3.ch. Později budete mít přístup k Traefik Dasboard s touto (sub)doménou.

Vytvořit síť Docker pro Traefik

Je dobré nastavit samostatnou dockerovou síť, kterou používá Traefik a všechny ostatní dockerové kontejnery, které byste chtěli Traefikem zpřístupnit.

Chcete-li vytvořit tuto dockerovou síť, vše, co musíte udělat, je vložit následující příkaz do vašeho CLI:

docker network create proxy

Spustit Traefik

docker-compose up -d

Po několika sekundách můžete zkontrolovat svůj Traefik Dashboard a přistupovat k němu ve své vlastní doméně, kterou jste zadali ve svém docker-compose.yml


Ubuntu
  1. Virtualbox 5.1.2 Pro Ubuntu 14.04.5?

  2. Je Ccleaner pro Ubuntu výhodný?

  3. Instalace Dockeru (Ubuntu)

  1. „Klon“ Firefoxu pro Ubuntu?

  2. Problémy s Dockerem v Ubuntu 20.04?

  3. Jak nainstalovat Docker a spustit kontejnery Docker v Ubuntu

  1. Apt-fast pro Ubuntu 14.04?

  2. Alexa pro Ubuntu?

  3. Přístavní dělník