Artículo
· 13 hr atrás Lectura de 4 min

IRIS in Docker para principiantes

El artículo fue motivado por 2025 September Article Bounty
***********************************************************


El principio de Docker me resulta simplemente convincente..

  • Consigue un sandbox donde puedas jugar y probar lo que quieras o necesites hacer.
  • Una vez hecho, lo sueltas sin dejar rastros en tu entorno de trabajo.

Esta fue la base técnica para que yo pudiera realizar alrededor de 700 revisiones en OEX 
con casi ningún efecto secundario (excepto los causados ​​por mí mismo).

Para principiantes, comenzaré con IRIS puro, sin *Health, *ML, *lo que sea. 

Primero, necesitas una instalación de Docker. Está disponible en casi cualquier plataforma.
Mi preferencia personal es Windows Docker Desktop por su cómoda consola de administración.
No profundizo en la gestión detallada de Docker.
Hay suficiente material de lectura para buscar en Docker Docs

En segundo lugar, decides la encarnación de IRIS que prefieras.
El más simple: intersystemsdc/iris-community  preparado para usar

  • Funciona en Ubuntu.
  • Tiene una licencia comunitaria válida.
  • Tiene instalado Apache httpd.
  • Tiene instalado el cliente IPM/ZPM.

Advertencia #1:  Como principiante, no estudies los paquetes que se ofrecen en OEX.
Son excelentes (en su mayoría), pero siempre están orientados a alguna funcionalidad
o aplicación especial que requiere configuraciones especiales y una instalación compleja.

Advertencia #2:  Docker cuenta con un amplio conjunto de comandos con todo lo necesario.
Y esos comandos ofrecen una gran cantidad de parámetros (a veces confusos).
Por lo tanto, sugiero que se puedan reproducir mediante scripts dedicados.
Dockerfile es la mejor manera de trabajar con construcciones complejas que requieren
una carga inicial de muchos extras. Normalmente los he visto relacionados con Python
y con varios casos de demostración de IA. Este ejemplo no es necesario.
docker-compose.yml es el lugar real para hacer estallar tu contenedor. Necesita:

  • una definición de lo que quieres "componer" >> service: 
    • un nombre para ello  >>  iris:
    • qué imagen ejecutar  >> image: intersystemsdc/iris-community
  • A continuación, debe definir cómo el puerto SuperServer 1972 y el puerto WebServer predeterminado 52773 serán visibles fuera del contenedor.
    •     ports:      - 41773:1972   - 42773:52773
  • Por último, no es un requisito urgente, pero a menudo es muy útil asignar su directorio local a algún directorio interno dentro del contenedor. Yo usé /external
    • ​Especialmente al principio, este camino bidireccional hace la vida realmente fácil.
      <strong>volumes:</strong>
       - ./:/external

Ahora bien, este es el texto final de docker-compose.yml

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

Y ahora está listo para ejecutar su primera instancia de IRIS en Docker

  • docker-compose up  Permite ver el inicio completo.
  • docker-compose up -d  Inicia un inicio en segundo plano y mantiene su línea de comandos libre
  • docker ps -a    Muestra puertos e imágenes en ejecución de su contenedor IRIS

Bien, tu nuevo IRIS ya está en Docker..
¿Pero cómo puedes utilizarlo?

  • Tienes el WebServer y por tanto el Portal de Gestión http://localhost:42773/csp/sys/UtilHome.csp
  • Tienes el SuperServerPort para acceso ODBC, IRIS NATIVE, ... (e incluso Studio)
  • Y también puedes acceder a IRIS desde la línea de comandos dentro del contenedor​​​​​​
    • docker-compose exec iris iris session iris
  • Al dividir esta única línea, se accede primero al contenedor y luego a IRIS.
    • docker-compose exec iris bash
    • Álora 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
      • y iris session iris
      • Node: 3266c5c8b21f, Instance: IRIS 
        USER>
    • Aquí en el nivel bash, tienes todas las opciones para que IRIS funcione en tus manos.
      • Tu usuario de Ubuntu es irisowner.
    • Para los casos excepcionales en los que pueda necesitar acceso root
      • docker-compose exec -u root iris bash
    • Detenga su contenedor con  docker-compose down

Algunas consideraciones sobre los cambios durante la sesión del contenedor.

  • Todo lo que crees, cambies o modifiques existirá mientras exista el contenedor.
    • Una vez que se elimina el contenedor, todos los cambios, ... desaparecen.
  • Esto podría resultar molesto con configuraciones grandes.
  • Dockerfile se encarga de una configuración que se realiza una vez en un ciclo de compilación, de manera diferente para ejecutar la configuración en cada inicio del contenedor..
  • Esta es una buena práctica en paquetes OEX, aunque puede parecer exagerada en algunos casos. 
Comentarios (0)1
Inicie sesión o regístrese para continuar