Manchmal möchte ein Entwickler ein „Test“-Docker-Image im Forum vorschlagen, damit Benutzer eine neue Integration testen können, bevor sie in die Produktion deployed wird.
Im Gegensatz zum „offiziellen“ Docker-Image, das auf dem Projektkonto gladysassistant/gladys gehostet wird, wird ein Test-Image auf dem Docker-Konto des Entwicklers gehostet, der das Image vorschlägt. Beispiel: jeanfrancois/gladys.
Um ein Test-Docker-Image zu starten, ist der Prozess derselbe wie auf der Installationsseite von Gladys via Docker beschrieben: Docker | Gladys Assistant.
Der einzige Unterschied besteht darin, dass der Name des Images im docker run durch das Test-Image geändert werden muss und einige Parameter der Befehlszeile angepasst werden müssen.
Bevor du beginnst
Wenn du nicht weißt, was du tust, vermeide es, dein Test-Image auf derselben Maschine wie deine Produktionsinstallation zu starten, da dies Auswirkungen auf deine Installation haben könnte! ![]()
![]()
Test-Image starten
Angenommen, wir möchten ein Test-Image der „zwave“-Integration starten, die von „jeanfrancois“ entwickelt wurde.
Wir nehmen den docker run-Befehl von der Gladys-Website und ändern mehrere Dinge:
- Den Namen des Containers, z. B. „gladys-zwave-test“ anstelle von „gladys“:
--name gladys-zwave-test \ - Den Port, auf dem Gladys läuft, z. B. 8001 anstelle von 80:
-e SERVER_PORT=8001 \ - Das Verzeichnis, in dem alle Gladys-Dateien (Datenbank, Konfiguration) gespeichert werden:
-v /var/lib/gladysassistant_zwave_test:/var/lib/gladysassistant \ - Den Namen des Docker-Images, das gestartet werden soll:
jeanfrancois/gladysanstelle vongladysassistant/gladys
Damit erhalten wir diesen Befehl:
docker run -d \
--log-driver json-file \
--log-opt max-size=10m \
--cgroupns=host \
--restart=always \
--privileged \
--network=host \
--name gladys-zwave-test \
-e NODE_ENV=production \
-e SERVER_PORT=8001 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant_zwave_test:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
jeanfrancois/gladys
Um auf Gladys zuzugreifen:
http://IP_MASCHINE:8001
Um diesen Container zu stoppen:
docker stop gladys-zwave-test
Um diesen Container zu löschen:
docker rm gladys-zwave-test
Um eine neue Version des Images zu holen
(falls der Entwickler mit seiner Integration weitergekommen ist):
docker pull jeanfrancois/gladys
Wichtig zu wissen: Ein Docker-Container ist unveränderlich: Wenn du ein neues Image heruntergeladen hast, musst du den Container stoppen, den Container löschen und dann einen neuen Container mit docker run starten ![]()
Hinweis:
Vermeide es, dein Gladys Plus-Konto mit einer Test-Instanz zu verbinden, da dies deine Produktionsinstanz abmeldet.