GNU/Linux >> Belajar Linux >  >> Ubuntu

Traefik untuk Wadah Docker di Ubuntu

Postingan ini tentang Traefik untuk Docker Containers.

Pengenalan Konfigurasi

Bagaimana Keajaiban Terjadi

Traefik untuk Kontainer Docker

Jika Anda belum menginstal buruh pelabuhan, Anda dapat menemukan instruksi untuk Ubuntu atau Debian. Panduan ini menggunakan docker-compose untuk menjalankan Traefik, oleh karena itu perlu juga menginstal docker-compose. Dua panduan tertaut akan membantu Anda menyiapkan docker-compose di host Anda sendiri.

Mari kita mulai dengan menyiapkan Traefik.

Pertama, buat beberapa file dan direktori folder untuk container kita:

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

Buat sandi aman

Buat file konfigurasi dan atur kata sandi terenkripsi untuk mengakses dasbor traefik. Anda dapat menggunakan utilitas htpasswd untuk membuat kata sandi terenkripsi. Untuk menggunakan utilitas htpasswd, instal utilitas dengan perintah berikut

$ sudo apt-get install -y apache2-utils

Kemudian jalankan perintah berikut untuk menghasilkan kata sandi yang aman

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

Saya telah menggunakan "unixcop@123" untuk mengenkripsi. Anda dapat memiliki asumsi Anda sendiri. Pengguna diambil sebagai "unixcop" Anda dapat menggantinya dengan nama pengguna Anda sendiri.

Salin output yang dihasilkan secara otomatis dan simpan di suatu tempat karena kita perlu menggunakan kata sandi terenkripsi ini di file konfigurasi Traefik untuk menyiapkan otentikasi dasar untuk dasbor Traefik

traefik.yml

Selanjutnya kita buka file konfigurasi traefik yang baru kita buat dengan editor pilihan Anda.

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

Buat docker-compose.yml file tempat Anda akan mendefinisikan reverse-proxy layanan yang menggunakan gambar Traefik resmi:

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

Dengan docker-compose.yml kami mendefinisikan wadah buruh pelabuhan Traefik dengan semua pengaturan dan file konfigurasi. Untuk mengaktifkan dan menjalankan Traefik, Anda hanya perlu menyesuaikan beberapa pengaturan:

  • ganti keduanya traefik.domain.tld dengan nama domain Anda sendiri. Domain ini harus berupa subdomain seperti traefik.ae3.ch misalnya. Nanti Anda bisa mengakses Traefik Dasboard dengan (sub)domain ini.

Buat Jaringan Docker untuk Traefik

Sebaiknya siapkan jaringan buruh pelabuhan terpisah yang digunakan oleh Traefik dan semua wadah buruh pelabuhan lainnya yang ingin Anda sediakan oleh Traefik.

Untuk membuat jaringan buruh pelabuhan ini, yang perlu Anda lakukan hanyalah menempelkan perintah berikut ke dalam CLI Anda:

docker network create proxy

Jalankan Traefik

docker-compose up -d

Setelah beberapa detik, Anda dapat memeriksa dan mengakses Dasbor Traefik di Domain khusus yang Anda masukkan di docker-compose.yml


Ubuntu
  1. Firefox "kloning" Untuk Ubuntu?

  2. Masalah Docker Di Ubuntu 20.04?

  3. Apakah CCleaner Bermanfaat Untuk Ubuntu?

  1. Cara Menginstal Docker di Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  2. Virtualbox 5.1.2 Untuk Ubuntu 14.04.5?

  3. Apt-fast Untuk Ubuntu 14.04??

  1. Alexa Untuk Ubuntu?

  2. Buruh pelabuhan

  3. Menginstal Docker (Ubuntu)