Comment exécuter icCube dans un Docker sur mon Mac

Nathalie Leroy
Nathalie Leroy
September 21, 2022

Un guide étape par étape sur la façon d'exécuter icCube dans un conteneur Docker, avec et sans fichiers mappés.

TABLE DES MATIÈRES
Référentiel Docker Hub ICCube
Technologie
Tout

Voici un guide étape par étape sur la façon d'exécuter icCube dans un conteneur Docker, dans les deux scénarios, avec et sans fichiers mappés.

Nous allons montrer les étapes à l'aide de Docker Desktop, mais vous pouvez également utiliser Podman. Consultez la section des alternatives.

Dockers, conteneurs, images, volumes

Commençons par les bases. Il existe une nouvelle application que vous aimeriez explorer, mais vous ne souhaitez pas l'installer sur votre ordinateur (cela peut être dû à de nombreuses raisons telles que l'espace, la sécurité ou l'incertitude quant à savoir si sa désinstallation la supprimera réellement, ainsi que tous ses fichiers, de votre ordinateur, etc.). Qu'est-ce qu'une alternative ? Des conteneurs !

En bref :

  • Docker = la plateforme permettant de créer et d'exécuter des conteneurs
  • Container = environnement encapsulé qui exécute l'application icCube
  • Image = le fichier qui donne les instructions pour créer le conteneur icCube
  • Bind Mounts/Volumes = données persistantes qui restent après la suppression ou la recréation du conteneur.

La différence entre les deux réside dans la manière dont vous souhaitez créer les répertoires : les montages par liaison sont des répertoires existants sur la machine hôte que vous montez ensuite dans un conteneur, les volumes sont des répertoires créés dans le répertoire de stockage Docker et sont donc gérés par Docker.

L'exécution d'un conteneur vous évite d'avoir à installer une application (et toutes ses dépendances : par exemple, une machine virtuelle JAVA) sur votre machine. Il sépare littéralement l'application de votre infrastructure. Vous pouvez donc facilement et rapidement le démarrer, l'arrêter et le supprimer de votre ordinateur.

Premiers pas avec Docker Desktop

Vous pouvez utiliser le terminal pour tout, ou vous pouvez également utiliser le Docker Desktop comme interface graphique pour gérer vos images et vos conteneurs. Téléchargez-le ici : https://www.docker.com/products/docker-desktop/

Rendez-vous sur le site DockerHub et trouvez l'image que vous souhaitez utiliser. Voici la page principale d'icCube : https://hub.docker.com/u/ic3software

Dans l'onglet tags, vous trouverez les différentes versions disponibles : https://hub.docker.com/r/ic3software/iccube/tags

8.x chrome : cette image est disponible pour les plateformes AMD et ARM (Chromium est en cours de conditionnement, nécessaire pour l'impression du tableau de bord). Il s'agit de l'image à utiliser pour les processeurs Mac M1+ et ARM (par exemple, Amazon AWS).

8. x : cette image n'est disponible que pour les plateformes AMD (au lieu de Chromium, Chrome est en cours de package, nécessaire pour l'impression du tableau de bord).

icCube Docker Image

Mon premier contenant

Ajoutons l'image icCube. Copiez la ligne de commande de la balise desire et collez-la dans votre terminal :

Logiciel Docker Pull IC3/iccube : 8.2.2 - Chromium

Vous avez maintenant l'image sur le Docker Desktop.

Image on Docker Desktop

Cliquez sur le bouton EXÉCUTER et insérez le nom de votre conteneur et un port. Le port est nécessaire, assurez-vous de sélectionner un port qui n'est pas utilisé.

RUN parameters in Docker

Ouvrez icCube dans votre navigateur à l'aide du lien (attention au port !) : http://localhost:8484/icCube/console

Insérez le nom d'utilisateur/mot de passe : admin/admin

Et c'est tout ! Vous êtes prêt à utiliser icCube.

Vous pouvez arrêter votre conteneur à tout moment et même le supprimer.

Stopping or Deleting a Container

Notez que si vous le supprimez, vous supprimerez toutes les données créées par icCube (par exemple, schéma, tableaux de bord, etc.) et seront perdues à jamais. Il existe une solution, vous pouvez demander au conteneur d'utiliser les répertoires et/ou les fichiers de votre machine. Vous trouverez ci-dessous les étapes à suivre pour procéder.

Conteneur avec des répertoires et des fichiers locaux (montage par liaison)

Les schémas icCube, les fichiers de données, les licences et autres contenus sont enregistrés dans des fichiers. Si vous souhaitez conserver ces données après avoir supprimé votre conteneur Docker, vous pouvez disposer d'un répertoire sur votre machine qui conservera ces fichiers.

Commençons par créer des dossiers sur votre machine. J'ai créé un répertoire docker-data dans lequel j'ai ajouté un dossier icCube avec les dossiers bin, data et icCube-Data.

Folder Creation

Si vous avez déjà commencé à travailler avec un icCube local :

  • copiez-le dans la corbeille de votre fichier de licence icCube-4.lic (si vous possédez une licence OEM, Enterprise ou Corporate),
  • pour dater les fichiers de votre système de fichiers icCube,
  • et à icCube-Data le contenu correspondant.

Nous devons maintenant mapper ces dossiers et fichiers à votre conteneur.

La page Docker Github d'icCube fournit le script run_icCube.sh pour exécuter un conteneur avec des fichiers et des répertoires locaux sous forme de liaisons. Cette page explique comment définir ces configurations.

Modifions-le en fonction de notre exemple. Changez le chemin icCube en /Users/Nathalie/Docker-Data/icCube, changez le port, ici je l'ai défini sur 8585 (au lieu de 8282) et j'ai mappé les dossiers que nous venons de créer :

# ! /poubelle/sh

icCube=/Utilisateurs/Nathalie/Docker-Data/icCube

icCube_bin=$icCube/bin

icCube_Web_Data=$icCube/données

icCube_Data=$icCube/icCube-Donnée

docker run -d --name my_cool_container_with_mapped_files \

 -e ICCUBE_JAVA_OPTS= » -Xms1g -Xmx1g » -e ICCUBE_CHROME_NO_SANDBOX=1 \

 -p 8585 : 8282 \

 -v « $ICCUBE_DATA : /home/IC3/ICCUBE-DATA » \

 -v « $ICCUBE_WEB_DATA : /home/ic3/données » \

 -v « $ICCube_bin/ICCube-4.lic : /opt/ICCube/bin/ICCube-4.lic » \

 logiciel ic3/iccube-dev:8.2.2-chromium

# docker logs -f icCube

Enregistrez ce fichier dans votre dossier /Users/Nathalie/Docker-Data/icCube.

Nous sommes maintenant prêts à faire fonctionner le conteneur. Dans votre terminal, placez-vous dans votre dossier icCube et lancez votre fichier sh à l'aide de la commande /run_icCube.sh

Command Line

Vous verrez votre nouveau conteneur apparaître sur votre Docker Desktop.

New Container in Docker Desktop

Ouvrez icCube dans votre navigateur à l'aide du lien (attention au port !) : http://localhost:8585/icCube/console

Insérez le nom d'utilisateur/mot de passe : admin/admin

Et maintenant, votre icCube fonctionne dans votre conteneur Docker avec des fichiers enregistrés sur votre machine. Par exemple, si vous créez des schémas, ajoutez des fichiers à votre système de fichiers icCube, créez des tableaux de bord, etc., ces fichiers seront enregistrés sur votre ordinateur et seront conservés une fois que vous aurez supprimé le conteneur.

Alternatives à Docker Desktop

Docker Desktop est gratuit uniquement pour les petites entreprises et les particuliers (moins de 250 employés ET moins de 10 millions de dollars de revenus annuels)). Si vous travaillez pour une grande entreprise et que vous ne possédez pas de licence Docker Desktop, vous pouvez utiliser un autre logiciel comme Podman.