In der folgenden Anleitung werde ich darauf eingehen, wie man eine VM mit alpine Linux aufsetzt, darauf + Docker installiert und dann als Container einen Traefik 2 reverse Proxy.
+Als erstes muss eine neue VM erstellt werden und als Boot Medium Alpine Linux eingelegt werden. Wenn die ISO
+ gebootet ist kommt ein Login Fenster, hier einfach mit dem Benutzer root
+ anmelden. Danach sollte ein Terminal Prompt kommen. Um Alpine zu installieren muss der Befehl setup-alpine
eingegeben werden. Hierbei gilt es zu beachten, dass die ISO
+ ein englisches Tastaturlayout benutzt. Der Bindestrich liegt hier auf dem ß. Als erstes muss nun im Setup
+ das Tastaturlayout angegeben werden, um dieses auf Deutsch festzulegen zwie mal de
eingeben.
+ Nachdem die Tastatur geändert wurde muss der Hostname festgelegt werden, meine VM heißt einfach docker
. In der darauffolgenden Netzwerkkonfiguration muss als erstes der
+ Name des zu konfigurierendes Netzwerkinterfaces angegeben werden (meist eth0
)
+ Im darauffolgenden Schritt wird die Methode der IP konfiguration angegeben. Im Folgenden setze ich hier auf
+ DHCP. Nachdem das root Passwort (welches mit einem Passwortgenerator
+ generiert wurde) festgelegt wurde muss die Zeitzone angegeben werden. Für Deutschland ist
+ diese Europe/Berlin
. Einen Proxy brauchen wir nicht, genauso wie beim
+ mirror können wir einfach mit enter bestätigen. Der SSH Server kann auch bei openssh belassen werden.
+ Nachdem nun die Grundkonfiguration im Installer abgeschlossen ist, muss noch die Festplatte angegeben
+ werden. Dafür wird eine Liste an erkannten Platten angezeigt. In meinem Fall war dies sda
und danach noch der Typ. Dies ist sys
,
+ da das System auf die Platte installiert wird. Nach der Installation muss das System nochmal neugestartet
+ werden.
+
+ Wenn das System nun von der Festplatte gebootet hat kann man sich mit dem Benutzer root
und dem zuvor gewählten Passwort anmelden. Danach muss als erstes das
+ System auf den neuesten Stand gebracht werden und ein paar tool installiert werden. Dazu die beiden unten
+ ausfgeführten Befehle eingeben.
+
+apk update
+apk upgrade
+apk add nano htop git
+
+ Um nun Docker zu installieren muss als erstes die Community repo aktiviert werden. Dazu mit nano
die Datei /etc/apk/repositories
öffnen
+ und in der Zeile, welche mit community
endet das #
am Anfang entfernen. (Nicht in den Zeilen mit edge
im URL) Danach kann Docker installiert werden.
+
+
+nano /etc/apk/repositories
+apk update
+apk add docker docker-compose
+rc-update add docker
+/etc/init.d/docker start
+
+
+ Nun ist Docker auf unserem System installiert und kann eingesetzt werden. Um Traefik 2 nun einzusetzen muss
+ als erstes meine Vorlage von hier
+ heruntergeladen werden. Danach muss in der Datei config/traefik.yml
unter
+ letsencrypt => acme => email die E-Mail Adresse festgelegt werden, welche für letsencrypt verwendet werden
+ soll. Danach noch die Berechtigungen von der Zertifikatsdatei einschränken. Bevor wir traefik starten könenn
+ müssen wir noch ein Netzwerk namens web
angelegt werden. Nachdem nun
+ alles vorbereit wurde kann dieser mit
+ docker-compose up
gestartet werden.
+
+git clone https://gitlab.jonasled.de/jonasled/traefik-config
+cd traefik-config
+nano config/traefik.yml
+chmod 600 letsencrypt/acme.json
+docker network create web
+docker-compose up
+# Wenn alles läuft strg und c drücken
+docker-compose up -d
+
+
+ Traefik ist nun installiert und sollte von außen erreichbar sein. Als Antwort sollte bei nicht bekannten
+ Domains immer ein 404 Fehler kommen. Zum testen setzen wir als nächstes den whoami Docker Container auf,
+ dieser ist nur wenige kb groß und bietet einen minimalen Webserver. Dazu muss als erstes die unten
+ angehängte docker-compose auf dem Host in einem neuen Ordner unter dem Namen docker-compose.yml
abspeichern und den Host anpassen. Danach kann der
+ Container mit docker-compose up
gestartet werden. Nun sollte nach 1-2
+ Minuten auf dem zuvor angegebenen Domain die 404 Meldung durch eine Seite ersetzt werden. Falls dies nicht
+ der Fall ist kann im Ordner, in dem der Traefik abgelegt wurde der Befehl docker-compose logs -f
ausgeführt werden um den Fehlerlog zu überprüfen.
+
+version: "3.2"
+services:
+ whoami:
+ image: containous/whoami
+ restart: unless-stopped
+ networks:
+ - web
+ labels:
+ - traefik.http.routers.whoami-https.rule=Host(`whoami.jonasled-test.xyz`)
+ - traefik.http.routers.whoami-https.entrypoints=https
+ - traefik.http.routers.whoami-https.tls=true
+ - traefik.http.routers.whoami-https.tls.certresolver=letsencrypt
+ - traefik.http.services.whoami.loadbalancer.server.port=80
+
+networks:
+ web:
+ external: true
+
+ + Um die Konfigurationen für den Traefik Server zu erstellen verwende nutze ich ein kleines selber + geschriebenes Tool, welches hier erreichbar ist. +