Nachdem Docker im LXC-Container so problemlos läuft,
möchte ich in diesem Artikel die Erfahrungen mit docker-compose
beschreiben.
Docker in LXD/LXC-Container
Bislang habe ich alle meine Services selbst als LXC-Container aufgesetzt. Allerdings scheint es zunehmend so zu sein, dass die Verwendung von Docker-Containern viel einfacher ist. Ein Großteil des Aufwandes wird dabei von den Erstellern der Dockerfiles übernommen und für mich ist’s damit dann simpler.
Problem: Ich “traue” den Erstellern nicht 100%ig. Dadurch, dass die Ersteller sowohl den Inhalt der Docker-Container als auch die Einbindung der Container in das Hostsystem vorgeben, kann ich nicht sicher sein, dass mir nicht irgendwas “untergejubelt” wird.
Eine Idee: Lass die Docker-Container in einem LXC-Container laufen! Dann kann maximal der LXC-Container geschrottet werden!
LXD/LXC: Installation auf Ubuntu-22.04 mit Netzwerk
Hier beschreibe ich, wie ich LXD/LXC auf Ubuntu-22.04 in Betrieb nehme. Grob startet die Beschreibung mit dieser hier: LXD/LXC: Installation auf Ubuntu-22.04. Danach wird das Netzwerk konfiguriert und damit der Zugriff auf die LXC-Container via im DNS hinterlegten Containernamen ermöglicht.
Die ganze Aktion dauert grob 1 Stunde, wenn man halbwegs weiß, was man zu erledigen hat. Die Doku habe ich durchgespielt mit Ubuntu-22.04.1 und LXD-5.9.
Linux - Shell: Debugging deaktivieren ohne Ausgabe von ‘+ set +x’
Gelegentlich möchte ich ein einem Shell-Skript für definierte Bereiche
die ausgeführten Kommandos protokollieren. Das aktiviere ich mit
set -x
. Am Ende des Bereichs deaktiviere ich die Protokollierung
mit set +x
. Leider wird dabei genau dieser Deaktivierungsbefehl
auch protokolliert. Das gefällt mir nicht und nachfolgend
gibt es Lösungen!
LUKS mit FIDO2 - systemd-cryptenroll
Das aktuelle Ubuntu-22.04 (jammy) unterstützt wohl das Entsperren von Festplatten mittels FIDO2-Stick (Solokey). Hier meine Experimente dazu. TLDR: Funktioniert noch nicht so richtig toll!
Gradle: Variablen-Liste für Spring Dependency Plugin
Bei einigen Kunden von mir wird das BuildTool GRADLE in Verbindung mit dem SpringDependencyPlugin verwendet. Bei dieser Aufstellung kann man die Versionen einiger Artefakte nicht via GRADLE-Mechanismen anpassen, sondern muß die vom Plugin vorgegebenen Variablen ermitteln und überschreiben.
Hier findet sich eine Liste der Variablen: dependency-versions.html
Vorgeben kann man die Version dann via gradle.properties:
1
|
|
oder build.gradle:
1
|
|
Änderungen
- 2022-11-03 – Erste Version
Neue Version vom Thunderbird
Bislang habe ich auf meinem Rechner die Version 102.2.2 von Thunderbird im Einsatz. Heute habe ich die aktualisiert auf 102.4.1. Dabei sind scheinbar alle Einstellungen verloren gegangen.
LXD/LXC: Installation auf Ubuntu-22.04
Hier beschreibe ich, wie ich LXD/LXC auf Ubuntu-22.04 in Betrieb nehme. Die ganze Aktion dauert grob 1 Stunde, wenn man halbwegs weiß, was man zu erledigen hat.
Aktualisieren
1 2 |
|
LXD installieren
1
|
|
Plattenbereich für LXC anlegen
1 2 3 4 5 6 7 8 9 10 11 12 |
|
LXD initialisieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
Container anlegen
1 2 3 4 |
|
Container sichten
1 2 3 4 5 6 |
|
Container-Kommandos ohne SUDO
1 2 3 4 |
|
Basisimage für Uli
Prompt vom Container holen mit sudo lxc exec ubuntu-2204 /bin/bash
und
dann im Container:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
Schlusstests
Nach einem Reboot teste ich dies:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Offene Punkte
Nachtrag 2022-12-24: Eine Version dieses Dokumentes mit der Korrektur der offenen Punkte findet sich hier.
- Ansprechen der Container via Containername, d.h. ich
hätte gerne mit
ssh ubuntu-2204
eine SSH-Session in den Container hinein - Separierung: Container mit und ohne Internet-Zugriff
Links
Änderungen
- 2022-12-24: Hinweis auf Version ohne offene Punkte hinzugefügt
- 2022-10-19: Erste Version
RustDesk
RustDesk ist ein Hilfsprogramm zur Fernwartung, ähnlich wie Teamviewer. Hier beschreibe ich, wie ich den Client- und den Serverteil baue. Für “Dritte” wahrscheinlich eher uninteressant!
Wacom One Tablet mit Ubuntu-20.04 verwenden
Vor ein paar Wochen habe ich mir ein günstiges WacomOne-Tablet gekauft und wollte es nun endlich mal nutzen. Einstecken und loslegen hat bei mir mit Ubuntu-20.04 (focal) nicht funktioniert.