Tutoriel: Lancer une image Docker de test

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

:warning: :warning: 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 ! :warning::warning:

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 de gladysassistant/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 :slight_smile:

Note:

Evite de connecter ton compte Gladys Plus à une instance de test, car cela déconnectera ton instance de production.

2 Likes