Artículo
· 13 mayo, 2025 Lectura de 3 min

Actualizar versión IRIS en contenedor dockerContestant

No sé a vosotros, pero a mi me ha pasado varias veces que creo un contenedor Docker (me gusta hacerlo con un docker-compose.yml, me resulta más ordenado 😊) con una versión de IRIS, voy haciendo mis pruebas y llega un día en el que la licencia de ese contenedor ya no es válida, y no funciona...

Si os ha pasado, puede que alguno de vosotros, igual que yo, haya pensado "pues con subir la versión de IRIS en el docker-compose/Dockerfile, suficiente". Pues... no 😅 Al hacerlo, da problemas y no arranca bien el contenedor.

Así que, pregunté a InterSystems (gracias @Wojciech Czyz por tu ayuda!!) sobre cómo sería el proceso de actualización de versión en contenedores. Y aquí os dejo una guía paso a paso de cómo hacerlo.

NOTA: Esta guía también es válida si se necesita subir de versión el contenedor en el que estamos trabajando por nuevas funcionalidades o lo que se quiera. Es decir, no es necesario tener que esperar a que el contenedor no arranque para actualizar 😉


Paso a paso

1. Parar la instancia de IRIS (que no el contenedor)

Con el contenedor de IRIS en marcha, accedemos a la instancia de IRIS a través del terminal de docker y la paramos.

  1. Primero, consultamos la lista de contenedores que tenemos en marcha:
    docker ps
  2. Buscamos el nombre del contenedor de IRIS:
  3. Ejecutamos la siguiente instrucción para abrir un terminal dentro del contenedor:
    docker exec -it irishealth sh
  4. Cuando veamos el símbolo $ estaremos dentro:
  5. Escribimos:
    iris stop IRIS
  6. Pulsamos Intro en todas las opciones que aparecen (es decir, dejamos los valores por defecto):
  7. Pulsamos CMD+D para salir de este terminal
  8. Si volvemos a ejecutar:
    docker ps
  9. Veremos que el contenedor sigue en marcha:
  10. Pero no entra al portal:

 

2. Parar el stack de contenedores

Con la instancia de IRIS parada, ahora, paramos el stack de contenedores.

  1. Paramos todos los contenedores que tenemos en marcha con la siguiente instrucción:
    docker stop $(docker ps -q)
  2. Comprobamos que están parados con:
    docker ps
  3. Si tenemos más contenedores en marcha, podemos pararlos por nombre:
    docker stop <nombre_contenedor>

3. Borrar contenedores

Tenemos que posicionarnos en la carpeta donde tenemos el docker-compose.yml de IRIS:

Ejecutamos la siguiente instrucción desde terminal:

docker-compose down

4. Subir versión

Editamos el archivo docker-compose.yml y aumentamos la versión de IRIS, tanto del propio IRIS como del webgaeway (si lo tenemos).

En este caso, editaremos los archivos Dockerfile de las carpetas irishealth y webgateway, subiendo la versión de la 2024.2 a la 2024.3:

5. Levantar contenedor

Posicionados en la carpeta donde tenemos el docker-compose.yml de IRIS, construimos los contenedores:

docker-compose build

Esto descarga las nuevas versiones y construye todo lo necesario:

 

Después, levantamos todo:

docker-compose up

6. Comprobar progreso de actualización

Si en el terminal vemos que el contenedor de IRIS se ha quedado en la siguiente línea:

Tendremos que comprobar si realmente se está actualizando la versión.

  1. Ejecutamos la siguiente instrucción para abrir un terminal dentro del contenedor:
    docker exec -it irishealth sh
  2. Cuando veamos el símbolo $ estaremos dentro:
  3. Escribimos:
    iris list
  4. Veremos lo siguiente:

Esto significa que se está actualizando. Tendremos que esperar un rato hasta que termine (le cuesta varios minutos actualizarse).

Podemos ir ejecutando la misma instrucción cada cierto tiempo, hasta que veamos lo siguiente:

En el terminal donde hemos lanzado el docker-compose up, veremos lo siguiente:

7. Reiniciar contenedor

Cuando haya terminado, accedemos al portal y comprobamos que tenemos la nueva versión instalada:

Ahora vamos a reiniciar el contenedor.

  1. Primero paramos la ejecución de la instrucción que tenemos en marcha con CMD + C.
  2. Ejecutamos la siguiente instrucción desde el terminal:
    docker-compose up -d
Comentarios (1)1
Inicie sesión o regístrese para continuar