Parfois, un développeur veut proposer une image Docker « de test » sur le forum pour permettre à des utilisateurs de tester une nouvelle intégration avant qu’elle soit déployée en production.
Contrairement à l’image Docker « officielle » qui est hébergée sur le compte du projet gladysassistant/gladys
, une image de test sera hébergée sur le compte Docker du développeur proposant l’image. Exemple: jeanfrancois/gladys
.
Pour lancer une image Docker de test, c’est le même process que décrit sur la page d’installation de Gladys via Docker: Docker | Gladys Assistant.
La seule différence c’est qu’il faut changer le nom de l’image dans le docker run par l’image de test, et modifier certains paramètres de la commande.
Avant de commencer
Si tu ne sais pas ce que tu fais, évite de lancer ton image de test sur la même machine que ton installation de production, car cela pourrait avoir des conséquences sur ton installation !
Lancer l’image de test
Imaginons que l’on veut lancer une image de test de l’intégration « zwave », développée par « jeanfrancois ».
On va prendre la commande docker run
sur le site Gladys, et modifier plusieurs choses:
- Le nom du container, par exemple « gladys-zwave-test » au lieu de « gladys » :
--name gladys-zwave-test \
- Le port sur lequel tourne Gladys, par exemple 8001 au lieu de 80:
-e SERVER_PORT=8001 \
- Le dossier dans lequel seront enregistrés tous les fichiers Gladys (base de données, configuration):
-v /var/lib/gladysassistant_zwave_test:/var/lib/gladysassistant \
- Le nom de l’image Docker à lancer:
jeanfrancois/gladys
au lieu degladysassistant/gladys
Ce qui nous donnes cette commande :
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
Pour accéder à Gladys:
http://IP_MACHINE:8001
Pour stopper ce container:
docker stop gladys-zwave-test
Pour supprimer ce container:
docker rm gladys-zwave-test
Pour aller chercher une nouvelle version de l’image
(si le dev a avancé sur son intégration):
docker pull jeanfrancois/gladys
A savoir qu’un container Docker est immutable: si jamais tu a pull une nouvelle image, il faut stopper le container, supprimer le container puis docker run un nouveau container
Note:
Evite de connecter ton compte Gladys Plus à une instance de test, car cela déconnectera ton instance de production.