NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

FAQ zu Docker/Portainer

Allgemeine Themen & Feature Requests für APPs und Docker-Funktionen
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

FAQ zu Docker/Portainer

#1

Beitrag von Robert_Mini »

Hallo zusammen!

Bei mir sammeln sich ein paar Fragen zum Themengebiet der Docker, die ich gerne hier stellen möchte und anschließend soweit sinnvoll in die Knowledge Base einarbeiten möchte. Fragen die Google direkt beantwortet, versuche ich zu vermeiden.
Gerne kann sich jeder mit weiteren Fragen anhängen.

DANKE schon vorab an alle die mit Docker fitter sind als ich und hier (für alle Einsteiger) Hilfestellung geben!!
Und lasst euch durch den Umfang hier nicht gleich abschrecken, ich habe öfters mein Verständnis dazu vermerkt, das ich gerne absichern möchte!

Antworten füge ich der Übersichtlichkeit wegen gleich hier im Ausgangsposting per Edit in blau ein.

1) Deploy und Datenverlust in Containern:
Wann wird bei einem Deploy Container der Container gelöscht und neu gebaut, so dass auch Einstellungen im Container, nachinstalliere Pakete etc. verloren gehen?
Chris M.: Wenn ein Container neu gebaut wird (Portainer: Images -> Build a new image) oder ein fertiger neu gepullt wird, wird der Inhalt sicher durch das neue ersetzt.

Ein ändern von PortMapping, ENV, Network, Volumes etc. und erneutes Deploy löscht offensichtlich nichts - richtig?
(Solange Always pull image deaktiviert ist, vermute ich?)

2) Docker Volumes:
Soweit ich das verstehe, wird ein Pfad im Docker auf ein Volume "gemounted", dass außerhalb dieses Containers liegt. Damit können mehrere Container in das gleiche Volume zugreifen, Daten austauschen etc. Man sieht wenn man das Volume anklickt die Container die darauf verlinkt sind.
- Bleiben die Volumes (inkl. Daten!!) beim Löschen eines oder aller Containers erhalten? ja (Chris M.), seperat unter Volumes zu löschen.
- Wo sieht man die Größe eines Volumes? Chris M.: Im Menü Portainer auf der TWS Oberfläche (nicht portainer Webinterface!)
- Kann man einen Pfad im Container "nachträglich" als Volume definieren? Chris M.: Ja, um den Inhalt muss man sich aber selbst kümmern => per winSCP o.ä. vorher sichern, den der alte Pfad geht beim neuen deploy verloren!!!

3) Zusammenspiel EXPOSE 22 im Docker und Port Mapping.
Braucht es beides? Die meisten Docker files kommen ohne expose aus, im ssh Docker von jockel gibt es ein expose.
Bezieht sich die Option "Publish all exposed ports" nur auf jene Ports, die mit EXPOSE im Dockerfile stehen?
Chris M.: Ein Expose ist nicht zwingend, Dokumentiert halt schön welche Ports der Container bereit stellen möchte.

4) Welche Linux Basis für neue Container
Ist es für den TWS besser, Container auf Basis Debian zu bauen, oder egal? Speicherbedarf höher? Performance?
Chris M.:
Pauschal gilt: kleiner ist besser.
Debian hat den Vorteil, dass vermutlich auch andere Contianer den schon nutzen. Somit ist die Summe von mehreren Containern klein, da es wiederverwendet wird. Einzeln ist der dann dennoch groß. Wer wirklich sparen will, nimmt Alpine.


5) Welches Kürzel im docker Kommandozeilenbefehl entspricht welchem Setting in portainer?
Gibt es dazu eine Beschreibung?
Beispiel:
docker run -d --name="Home-Automation-Bridge" --net="host" -e SERVERIP="192.168.X.X" -e SERVERPORT="XXXX" -v /path/to/config/:/config:rw -v /etc/localtime:/etc/localtime:ro aptalca/home-automation-bridge
--net ist vermutlich network, -e ein Eintrag als env-Variable im ENV-Tab.,
-v sind volumes (Danke tger977)

6) Risiken und Nebenwirkungen für den TWS ;) :
Gibt es ein hartes Limit für RAM außer das was man unter runtime&ressources in portainer einstellen kann? Hintergrund: kann ein Container den TWS in die Knie zwingen oder ist ein Minimum Speicher + CPU fix für den Wolf reserviert?

7) Nützliche Links:
Wer kennt gute Quellen? Danke und LG
Robert
Zuletzt geändert von Robert_Mini am Mo Jan 28, 2019 10:05 am, insgesamt 5-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

tger977
Reactions:
Beiträge: 740
Registriert: So Aug 12, 2018 9:25 am
Hat sich bedankt: 205 Mal
Danksagung erhalten: 274 Mal

#2

Beitrag von tger977 »

-v sind die volumes
Gruß
Andi

TW2500 #440 (ex Timberwolf 2400 #111) mit PBM #124, Support VPN nur auf Anfrage, Reboot bitte nur nach Absprache
Benutzeravatar

Chris M.
Reactions:
Beiträge: 1194
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 237 Mal
Danksagung erhalten: 857 Mal
Kontaktdaten:

#3

Beitrag von Chris M. »

Hinweis: ich bin kein Docker-Experte, ich weiß nur so viel wie ich für mein Zeugs bisher gebraucht habe
Robert_Mini hat geschrieben: Fr Jan 25, 2019 4:03 pm 1) Deploy und Datenverlust in Containern:
Wann wird bei einem Deploy Container der Container gelöscht und neu gebaut, so dass auch Einstellungen im Container, nachinstalliere Pakete etc. verloren gehen?
Wenn ein Container neu gebaut wird (Portainer: Images -> Build a new image) oder ein fertiger neu gepullt wird, wird der Inhalt sicher durch das neue ersetzt.
Robert_Mini hat geschrieben: Fr Jan 25, 2019 4:03 pm 2) Docker Volumes:
Soweit ich das verstehe, wird ein Pfad im Docker auf ein Volume "gemounted", dass außerhalb dieses Containers liegt. Damit können mehrere Container in das gleiche Volume zugreifen, Daten austauschen etc. Man sieht wenn man das Volume anklickt die Container die darauf verlinkt sind.
- Bleiben die Volumes (inkl. Daten!!) beim Löschen eines oder aller Containers erhalten? Ziemlich sicher ja, seperat unter Volumes zu löschen.
- Wo sieht man die Größe eines Volumes?
- Kann man einen Pfad im Container "nachträglich" als Volume definieren? Ja, Inhalt des Pfades bleibt dann erhalten, oder?
1: ja
2: Timberwolf -> Portainer
3: Ja. Der Inhalt befüllt das Volume so es leer war.
Robert_Mini hat geschrieben: Fr Jan 25, 2019 4:03 pm 3) Zusammenspiel EXPOSE 22 im Docker und Port Mapping.
Braucht es beides? Die meisten Docker files kommen ohne expose aus, im ssh Docker von jockel gibt es ein expose.
Bezieht sich die Option "Publish all exposed ports" nur auf jene Ports, die mit EXPOSE im Dockerfile stehen?
Ein Expose ist nicht zwingend, Dokumentiert halt schön welche Ports der Container bereit stellen möchte.
Robert_Mini hat geschrieben: Fr Jan 25, 2019 4:03 pm 4) Welche Linux Basis für neue Container
Ist es für den TWS besser, Container auf Basis Debian zu bauen, oder egal? Speicherbedarf höher? Performance?
Pauschal gilt: kleiner ist besser.

Debian hat den Vorteil, dass vermutlich auch andere Contianer den schon nutzen. Somit ist die Summe von mehreren Containern klein, da es wiederverwendet wird. Einzeln ist der dann dennoch groß.

Wer wirklich sparen will, nimmt Alpine.
Robert_Mini hat geschrieben: Fr Jan 25, 2019 4:03 pm 7) Nützliche Links:
Wer kennt gute Quellen?
https://docs.docker.com/
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

#4

Beitrag von Robert_Mini »

Hallo Chris, danke für deine ausführliche Antwort!!

Ich arbeite die Antworten oben dann gleich ein, ein paar Rückfragen habe ich aber:
Chris M. hat geschrieben: Fr Jan 25, 2019 10:30 pm Wenn ein Container neu gebaut wird (Portainer: Images -> Build a new image) oder ein fertiger neu gepullt wird, wird der Inhalt sicher durch das neue ersetzt.
Wenn man ENV oder Volumes ändert, ist dann sicher, dass der Container dann nicht wieder ganz frisch ist?
Chris M. hat geschrieben: Fr Jan 25, 2019 10:30 pm
Robert_Mini hat geschrieben: Fr Jan 25, 2019 4:03 pm - Wo sieht man die Größe eines Volumes?
2: Timberwolf -> Portainer
Also unter Dashboard gibt es ein paar Gesamtzahlen, aber unter volumes oder container sehe ich keine Größe!

Danke
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Benutzeravatar

Chris M.
Reactions:
Beiträge: 1194
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 237 Mal
Danksagung erhalten: 857 Mal
Kontaktdaten:

#5

Beitrag von Chris M. »

Robert_Mini hat geschrieben: Sa Jan 26, 2019 9:51 am
Chris M. hat geschrieben: Fr Jan 25, 2019 10:30 pm Wenn ein Container neu gebaut wird (Portainer: Images -> Build a new image) oder ein fertiger neu gepullt wird, wird der Inhalt sicher durch das neue ersetzt.
Wenn man ENV oder Volumes ändert, ist dann sicher, dass der Container dann nicht wieder ganz frisch ist?
Das müsste ich ausprobieren. Bei "Always pull the image" wird der aber neu geholt und die Änderungen sind weg.
Damit besteht hier zumindest die Gefahr, dass man sich verklickt.

Grundsätzlich sollte man eh nichts am Contianer selbst ändern. D.h. man sollte sein System immer so aufsetzen, dass auch bei einem Pull oder Neubau nichts kaputt geht.

Genau dafür gibt es Volumes um die Daten persistent zu halten. Und wenn man was am Container selbst ändern möchte, dann baut man eben einen eigenen, der genau auf dem anderen basiert + Änderungen. Das ist sauber und sicher. Alles andere nicht.
Robert_Mini hat geschrieben: Sa Jan 26, 2019 9:51 am
Chris M. hat geschrieben: Fr Jan 25, 2019 10:30 pm
Robert_Mini hat geschrieben: Fr Jan 25, 2019 4:03 pm - Wo sieht man die Größe eines Volumes?
2: Timberwolf -> Portainer
Also unter Dashboard gibt es ein paar Gesamtzahlen, aber unter volumes oder container sehe ich keine Größe!
Du musst im Timberwolf schauen:
Bild
Zuletzt geändert von Chris M. am Sa Jan 26, 2019 11:59 am, insgesamt 1-mal geändert.
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

#6

Beitrag von Robert_Mini »

Eine Frage ist mir noch eingefallen:
Kann man auf die Volumes auch irgendwie direkt per FTP, samba o.ä. zugreifen, oder braucht man dazu einen eigenen Docker mit zB ssh, der dieses Volume verwendet?

Ich habe bei mir ein Image mit 75GB, da ich in EDOMI vergessen habe den Ordner des Kamera-Streams auf ein Volume zu legen.
Wenn ich dieses Verzeichnis jetzt als Volume eintrage, muss ich mich dann sorgen, dass der TWS für 5h intern mit kopieren beschäftigt ist?

Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1165
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 754 Mal
Danksagung erhalten: 947 Mal

#7

Beitrag von starwarsfan »

Hallo miteinander
Robert_Mini hat geschrieben: Fr Jan 25, 2019 4:03 pm - Kann man einen Pfad im Container "nachträglich" als Volume definieren? Chris M.: Ja, Inhalt des Pfades wird in das Volume kopiert.
@Chris M.: Man soll ja niemals nie sagen aber dass das geht wäre mir neu. Hast Du das schon gemacht? Wenn ja, wie genau?

Soviel ich weiss ist die einzige Möglichkeit dafür, den bestehenden Container zu committen, also lokal ein neues Image aus einem bestehenden Container zu machen. Dann kann man einen neuen Container basierend auf diesem Image starten und dort ein Volume in einem anderen Pfad (!) einhängen. Jetzt im dritten Schritt könnte man auf der Konsole des Containers die Daten von der ursprünglichen Location auf das Volume kopieren. Ist das erledigt, kann der Container gestoppt werden. Nun wird ein weiterer Container auf Basis des ursprünglichen Image gestartet, welcher das soeben befüllte Volume auf den korrekten Pfad gemountet hat, womit die Daten im Container, aber auf einem separaten Volume zur Verfügung stehen. Der intermediate Container sowie das entsprechende Image können nun gelöscht werden.

Ob das aber so in Portainer machbar ist, kann ich nicht sagen. Dort habe ich das noch nicht versucht.
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

#8

Beitrag von Robert_Mini »

Hallo @starwarsfan!

Du hast recht, das funktioniert so nicht und ich hab's oben gleich mal editiert.
Ich hab gestern mein Kamera Archiv über SCP gesichert, dann meinen EDOMI Container gestoppt und mit edit unter Volume für Backup und Camera erstellt und erneut deployed.
EDOMI war dann leer, ich hab die Sicherung geladen und die Camera-Files in das Volum geschoben, fertig.

Wobei EDOMI da sehr zickig ist. Ich wollte vorher das ganze mit einem neuen Container an einer anderen IP testen => Backup einspielen scheitert.
Ich hab das ganze dann mit den gleichen IP Einstellungen und neuem Containernamen getestet (dann anderen gestoppt) und erst dann mit dem Origina Container durchgeführt.

Ich weiß jetzt nicht wie wichtig das ist, aber eventuell würde es sinn machen, einige interne Verzeichnisse von EDOMI auch auf Volumes zu legen (die Datenbanken, Konfiguration etc.). Im Best Case könnte dann ein deploy trotz neuem Image klappen ohne dass man das Backup dazu braucht, oder?

lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1165
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 754 Mal
Danksagung erhalten: 947 Mal

#9

Beitrag von starwarsfan »

Hallo Robert
Robert_Mini hat geschrieben: Mo Jan 28, 2019 10:12 am Du hast recht, das funktioniert so nicht und ich hab's oben gleich mal editiert.
Danke für den Gegencheck.

Robert_Mini hat geschrieben: Mo Jan 28, 2019 10:12 am Wobei EDOMI da sehr zickig ist. Ich wollte vorher das ganze mit einem neuen Container an einer anderen IP testen => Backup einspielen scheitert.
Was genau scheitert denn da?

Robert_Mini hat geschrieben: Mo Jan 28, 2019 10:12 am Ich weiß jetzt nicht wie wichtig das ist, aber eventuell würde es sinn machen, einige interne Verzeichnisse von EDOMI auch auf Volumes zu legen (die Datenbanken, Konfiguration etc.). Im Best Case könnte dann ein deploy trotz neuem Image klappen ohne dass man das Backup dazu braucht, oder?
Schwierig. Hier kommen sich die Docker-Best-Practices schwer in die Wege, auf welche Art und Weise sich Edomi in das System einbindet und wie es seine eigenen Backups macht. Ich habe hier auch noch keinen Königsweg gefunden und bin noch am experimentieren...
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

#10

Beitrag von Robert_Mini »

starwarsfan hat geschrieben: Mo Jan 28, 2019 10:41 am
Robert_Mini hat geschrieben: Mo Jan 28, 2019 10:12 am Wobei EDOMI da sehr zickig ist. Ich wollte vorher das ganze mit einem neuen Container an einer anderen IP testen => Backup einspielen scheitert.
Was genau scheitert denn da?
Hab grad den Container nochmal erstellt und siehe da, Backup problemlos einspielbar.
Mit neuer IP und auch wenn ich die IP des KNX-Routers ändere.
Schon komisch - aber ich denke du kannst somit obigen Kommentar ignorieren.

Einziges Problem im Moment: Wenn ich die KNXGATEWAY von 192.168.1.101 (mein WG) auf 192.168.1.10 (mein TWS) ändere, kann ich zwar das Backup laden, allerdings bleibt EDOMI dann bei Initialisierung hängen.

Hast du den TWS schon als IP Schnittstelle im Betrieb? Passt da der Port 3671, ich hab mal wo 3700 gelesen.
Wenn ja, würde es eventuell Sinn machen, dass man den Port auch über ENV konfigurierbar macht.

Robert
Zuletzt geändert von Robert_Mini am Mo Jan 28, 2019 12:17 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Allgemeine Themen & Feature Requests“