4.4.6 Häufige Fragen zu Docker und Portainer am TWS

Beschreibung: Fragen rund um Docker & Co.

Kategorie: Docker

Link zu diesem Beitrag: Alles auswählen

[url=https://forum.timberwolf.io/app.php/kb/viewarticle?a=73&sid=d2952685ac74885b258272e84dffa8d5]Knowledge Base - 4.4.6 Häufige Fragen zu Docker und Portainer am TWS[/url]

Wer sich neu in Docker und Portainer am Timberwolf Server einarbeiten will, stößt oft auf die gleichen Fragen.

Nachstehend einige wichtige Punkte:

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.

Ein ändern von PortMapping, ENV, Network, Volumes etc. und erneutes Deploy löscht den Container nicht. (Solange Always pull image deaktiviert ist)

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 , seperat unter Volumes zu löschen.
- Wo sieht man die Größe eines Volumes?
Im Menü Portainer auf der TWS Oberfläche (nicht portainer Webinterface!)
- Kann man einen Pfad im Container "nachträglich" als Volume definieren?
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! Lt. Docker-Doku sollte auch der der Inhalt des Pfades automatisch in das Volume kopiert werden, wenn diese leer ist. Manuelles kopieren ist aber der sichere Weg!

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 aber sauber, 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?
Pauschal gilt: kleiner ist besser.
Debian hat den Vorteil, dass vermutlich auch andere Container 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? Dieses Wissen ist hilfreich, wenn man einen docker run Befehl in Portainer umsetzen möchte.
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 network
  • --name ist der gewünschte Containername
  • -e ein Eintrag als env-Variable im ENV-Tab.,
  • -v sind volumes
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 an Chris M., tger977, James_T_Kirk, starwarsfan, tws88_user, blaubaerli, MiniMaxV2 für ihre Beiträge zum Themenkreis Docker!