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
- un nom pour celui-ci >>
- 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.