13 points par sigridjineth 2025-04-15 | 3 commentaires | Partager sur WhatsApp

Dans les environnements d’entreprise, Docker est souvent exploité dans un réseau isolé sans accès à Internet externe pour des raisons de sécurité. Dans ce type d’environnement, pour mettre à jour une image ou en déployer une nouvelle, il faut généralement importer manuellement un fichier d’image enregistré à l’extérieur avec docker save, puis le charger avec docker load.
Mais lorsque l’image fait plusieurs Go ou plus, la moindre modification oblige à retransférer l’ensemble, ce qui crée une forte inefficacité.

Une image Docker est composée de plusieurs couches en lecture seule. Les mêmes couches peuvent être partagées entre plusieurs images sans stockage redondant. Grâce à cette structure, il suffit de transmettre les couches modifiées, tandis que le reste peut être réutilisé via le cache.

Dans un réseau isolé, le cache automatique est difficile à mettre en place ; on adopte donc une stratégie consistant à regrouper et transférer uniquement les couches modifiées. Pour automatiser cela, l’outil docker-diff, basé sur Python, a été développé ; il peut effectuer la comparaison et la fusion via ses modes compare et merge.

Dans les environnements où les images sont fréquemment mises à jour, une approche de mise à jour incrémentale permet d’économiser du temps et des ressources réseau, tout en améliorant la fiabilité et la rapidité des déploiements.
Si possible, il est recommandé d’automatiser aussi la création des paquets incrémentaux, leur transfert et leur fusion afin de réduire les erreurs et d’améliorer la stabilité.

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

3 commentaires

 
codemasterkimc 2025-04-16

N’est-il pas possible de mettre en place un registre Docker privé dans un environnement on-premise isolé ? Pourquoi le déployer de manière aussi complexe ?

 
roxie 2025-04-16

> Si l’infrastructure le permet, exploiter un registre de conteneurs interne peut être la solution la plus idéale.

On dirait que cette phrase se trouve vers la fin... on sent qu’il y a une triste histoire derrière 🫠

 
savvykang 2025-04-16

Il y a probablement des contraintes d’architecture ou d’infrastructure, non ? J’imagine qu’on ne livre au client que le strict minimum de matériel nécessaire pour faire tourner l’IA.