Article
· 18 hr il y a 4m de lecture

IRIS inDocker pour les débutants

Cet article a été motivé par le concours Article Bounty de septembre 2025.
***************************************************************************


Le principe de Docker me semble tout simplement convaincant.

  • Obtenez un bac à sable dans lequel vous pouvez jouer et essayer tout ce que vous voulez/devez faire.
  • Une fois terminé, vous le supprimez sans laisser de traces dans votre environnement de travail.

C'est sur cette base technique que j'ai pu effectuer environ 700 évaluations dans OEX 
sans pratiquement aucun effet secondaire  (à l'exception de ceux causés par moi-même).

Pour les débutants, je commencerai par IRIS pur, sans *health, *ML, *toute variante.

Tout d'abord, vous devez installer Docker. Il est disponible sur presque toutes les plateformes.
Je préfère personnellement Windows Docker Desktop pour sa console d'administration pratique.
Je ne m'attarde pas sur la gestion détaillée de Docker.
Il existe suffisamment de documentation à ce sujet dans  Docker Docs

Ensuite, vous devez choisir l'incarnation IRIS qui vous convient.
La plus simple : intersystemsdc/iris-community  prête à l'emploi.

  • Fonctionne sous Ubuntu.
  • Dispose d'une licence communautaire valide.
  • Dispose d'Apache httpd installé.
  • Dispose d'un client IPM/ZPM installé.

Avertissement n° 1 en tant que débutant, n'étudiez pas les paquets proposés sur OEX.
Ils sont excellents (pour la plupart), mais toujours destinés à certaines fonctionnalités
ou à certaines applications spéciales qui nécessitent des paramètres particuliers et une installation délicate.

Avertissement n° 2 :  Docker dispose d'un ensemble complet de commandes avec tout ce
dont vous avez besoin. Et ces commandes offrent une multitude de paramètres (parfois déroutants).
Je vous suggère donc de les rendre reproductibles à l'aide de scripts dédiés.
Dockerfile  est la solution à adopter pour les constructions complexes comportant de nombreux
éléments supplémentaires à charger au préalable. Je les ai généralement vus associés à Python
et à divers cas de démonstration d'IA
Pour cet exemple, il n'est pas nécessaire.
docker-compose.yml est le véritable outil pour faire exploser votre conteneur. Il nécessite :

  • une définition de ce que vous souhaitez "composer"  >> service: 
    • un nom pour celui-ci  >>  iris:
    • quelle image exécuter  >> image: intersystemsdc/iris-community
  • Ensuite, vous devez définir comment le port SuperServer 1972 et le port WebServer par défaut 52773 seront visibles à l'extérieur du conteneur
    •     ports:      - 41773:1972   - 42773:52773
  • Enfin,  ce n'est pas une exigence urgente, mais il est souvent très utile de mapper votre répertoire local à un répertoire interne du conteneur. J'ai utilisé  /external Surtout au début, ce chemin bidirectionnel facilite vraiment la vie.
    • volumes:  - ./:/external

Voici maintenant le texte final de docker-compose.yml

services:
  iris:
    image: intersystemsdc/iris-community
    ports: 
      - 41773:1972
      - 42773:52773
    volumes:
      - ./:/external

Vous êtes maintenant prêt à exécuter votre première instance IRIS dans Docker

  • docker-compose up  vous permet de suivre l'intégralité du démarrage
  • docker-compose up -d  lance un  démarrage en arrière-plan et libère votre ligne de commande
  • docker ps -a    affiche les ports et les images en cours d'exécution de votre conteneur IRIS

Alors, votre nouvelle instance IRIS est désormais dans Docker.
Mais comment l'utiliser ?

  • Vous disposez du serveur Web et donc du portail de gestion http://localhost:42773/csp/sys/UtilHome.csp
  • Vous disposez du SuperServerPort pour l'accès ODBC, IRIS NATIVE, ... (et même Studio). 
  • Et vous pouvez également accéder à IRIS à partir de la ligne de commande à l'intérieur du conteneur.​​​​​​
    • docker-compose exec iris iris session iris
  • En divisant cette ligne unique, vous accédez d'abord au conteneur, puis à IRIS
    • docker-compose exec iris bash
    • Puis iris view
      • Instance 'IRIS'   (default)
                directory:    /usr/irissys
                versionid:    2025.1.0.223.0com
                datadir:      /usr/irissys
                conf file:    iris.cpf  (WebServer port = 52773)
                status:       running, since Thu Sep  4 14:35:19 2025
                SuperServers: 1972
                state:        ok
                product:      InterSystems IRIS
      • Puis iris session iris
      • Node: 3266c5c8b21f, Instance: IRIS 
        USER>
    • Au niveau bash, vous disposez de toutes les options pour faire fonctionner IRIS.
      • Votre utilisateur Ubuntu est    irisowner
    •  Dans les rares cas où vous pourriez avoir besoin d'un accès root, utilisez 
      • docker-compose exec -u root iris bash
    • Arrêtez votre conteneur avec docker-compose down

Quelques considérations sur les modifications apportées pendant la session du conteneur..

  • Tout ce que vous créez, changez ou modifiez existe tant que le conteneur existe.
    • Une fois le conteneur supprimé, toutes les modifications, .... disparaissent. 
  • Cela peut être gênant dans le cas de configurations volumineuses.
  • Dockerfile  se charge d'une configuration qui n'est effectuée qu'une seule fois dans un cycle de compilation, contrairement à l'exécution de la configuration à chaque démarrage du conteneur. Il s'agit d'une bonne pratique dans les paquets OEX, même si cela peut sembler excessif dans certains cas. 
Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer