13 puntos por sigridjineth 2025-04-15 | 3 comentarios | Compartir por WhatsApp

En entornos empresariales, por motivos de seguridad, es común operar Docker en una red aislada sin acceso a Internet externo. En este tipo de entorno, para actualizar una imagen o desplegar una nueva, hay que traer manualmente desde el exterior el archivo de imagen guardado con docker save y cargarlo con docker load.
Pero cuando la imagen pesa varios GB o más, incluso un cambio pequeño obliga a volver a mover todo, lo que genera una ineficiencia importante.

Las imágenes de Docker son una combinación de múltiples capas de solo lectura. Las capas idénticas se comparten entre varias imágenes sin almacenarse de forma duplicada. Gracias a esta estructura, basta con transferir solo las capas modificadas, mientras que el resto puede reutilizarse desde caché.

Como en una red aislada el cacheo automático es difícil, se usa una estrategia que empaqueta y transfiere por separado únicamente las capas modificadas. Para automatizar esto, se desarrolló la herramienta docker-diff, basada en Python, que puede realizar la comparación y la fusión mediante los modos compare y merge, respectivamente.

En entornos donde las imágenes se actualizan con frecuencia, las actualizaciones incrementales permiten ahorrar recursos de red y tiempo, además de mejorar la confiabilidad y la velocidad del despliegue.
Si es posible, se recomienda automatizar también el proceso de generación, transferencia y fusión de paquetes incrementales para reducir errores y aumentar la estabilidad.

https://blog.sionic.ai/enterprise-update-docker-strategy

3 comentarios

 
codemasterkimc 2025-04-16

¿No es posible construir un private docker registry en un entorno aislado sin conexión? ¿Por qué lo implementan de una forma tan complicada?

 
roxie 2025-04-16

> Si la infraestructura lo permite, operar un registro interno de contenedores podría ser lo más ideal.

Esa frase aparece hacia el final... parece que hay una historia triste detrás 🫠

 
savvykang 2025-04-16

¿No será que probablemente haya limitaciones de arquitectura o de infraestructura? Supongo que algo así como que solo se entrega al cliente el hardware mínimo necesario para ejecutar la IA.