Hallo,
Docker ist an sich eine feine Sache. Man bekommt ein fertiges Image von einem System-Bestandteil und kan es mit Parametern an seine Bedürnisse anpassen.
Es hat in meinen Augen einen Fehler im Konzept:
Wenn ein Image aktualisiert werden muss, dann muss ein bestehender Container gestoppt und entfernt werden. Mit dem Entfernen gehen alle Einstellungen mit flöten. Man muss diese Einstellungen, wie z.B. Pfadzugehörigkeiten, IP-Adresse, u.s.w., alles beim neuen Starten neu einstellen. Wenn man sich diese Einstelulngen nicht in eine separaten Dokumentation aufgeschrieben hat, hat man schlechte Aussichten, dass man die zuvor aktuellen Einstellungen wieder zusammen tragen kann.
Um diese Einstellungen ein für alle Mal sicher immer beim Erstellen eines Containers parat zu haben, wurde eine Bash-DAtei erstellt:
Das ist eine Bash-Datei zum Updaten und Starten von nextcloud-Containers.
Das Script funktioniert so weit ganz gut.
Am Ende wird dennoch immer noch ein Volume erstellt mit einem kryptischen Namen. Das besondere daran ist, dass bei jedem Aufruf ein neuer Container mit einem kryptischen Namen erstellt und dem Container zugeteilt wird.
Eigentlich sollte nur ein Volume mit dem Namen "nextcloud_data" erstellt werden.
Hintergrund ist der, dass die Daten nach einem Update weiterhin verfügbar sein werden.
Da aktuell bei jedem Durchlauf zusätzlich ein weiteres Volume mit einem kriptischen Namen erstellt wird, hat man schließlich mehr oder weniger viele Volumes, die nicht zugewiesen werden können.
Weiß jemand, welcher Parameter beim Docker übergeben werden muss, damit diese neben dem eigentlichen Volume "nextcloud_data" kein weiteres Volume anlegt?
---
Mit einem Portainer.io werden die Container verwaltet. Es hat ein gute GUI. Genial wäre es, wenn im GUI auch der Docker-Befehl mit allen Parametern angezeigt werden könnte, die beim Erstellen verwendet worden sind.
Docker ist an sich eine feine Sache. Man bekommt ein fertiges Image von einem System-Bestandteil und kan es mit Parametern an seine Bedürnisse anpassen.
Es hat in meinen Augen einen Fehler im Konzept:
Wenn ein Image aktualisiert werden muss, dann muss ein bestehender Container gestoppt und entfernt werden. Mit dem Entfernen gehen alle Einstellungen mit flöten. Man muss diese Einstellungen, wie z.B. Pfadzugehörigkeiten, IP-Adresse, u.s.w., alles beim neuen Starten neu einstellen. Wenn man sich diese Einstelulngen nicht in eine separaten Dokumentation aufgeschrieben hat, hat man schlechte Aussichten, dass man die zuvor aktuellen Einstellungen wieder zusammen tragen kann.
Um diese Einstellungen ein für alle Mal sicher immer beim Erstellen eines Containers parat zu haben, wurde eine Bash-DAtei erstellt:
Bash:
#!/bin/bash
name=nextcloud
image=nextcloud:latest
ls=$(docker container ls -f NAME=$name)
if [ ! -z "$ls" ]; then
docker stop $name
docker rm $name
docker pull $image
fi
docker run -d \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v nextcloud_data:/data \
--name "$name" \
--network "net" \
--ip "192.168.188.25" \
--hostname "cloud" \
$image
docker start $name
Das ist eine Bash-Datei zum Updaten und Starten von nextcloud-Containers.
Das Script funktioniert so weit ganz gut.
Am Ende wird dennoch immer noch ein Volume erstellt mit einem kryptischen Namen. Das besondere daran ist, dass bei jedem Aufruf ein neuer Container mit einem kryptischen Namen erstellt und dem Container zugeteilt wird.
Eigentlich sollte nur ein Volume mit dem Namen "nextcloud_data" erstellt werden.
Hintergrund ist der, dass die Daten nach einem Update weiterhin verfügbar sein werden.
Da aktuell bei jedem Durchlauf zusätzlich ein weiteres Volume mit einem kriptischen Namen erstellt wird, hat man schließlich mehr oder weniger viele Volumes, die nicht zugewiesen werden können.
Weiß jemand, welcher Parameter beim Docker übergeben werden muss, damit diese neben dem eigentlichen Volume "nextcloud_data" kein weiteres Volume anlegt?
---
Mit einem Portainer.io werden die Container verwaltet. Es hat ein gute GUI. Genial wäre es, wenn im GUI auch der Docker-Befehl mit allen Parametern angezeigt werden könnte, die beim Erstellen verwendet worden sind.
Zuletzt bearbeitet: