4 votes

Y a-t-il des limites de compatibilité de version entre l'hôte et le système d'exploitation invité dans Docker?

Docker permet à la distribution Linux de l'hôte d'être différente de la distribution Linux de l'invité.

Y a-t-il des limites à cette compatibilité ? Pourriez-vous exécuter un invité Ubuntu récent dans un hôte dont le noyau est beaucoup plus vieux ?

4voto

yamenk Points 11478

Docker permet à la distribution Linux hôte d'être différente de la distribution Linux invitée.

Pour être clair, il n'y a pas de distribution Linux invitée lors de l'exécution d'un conteneur Docker. Le conteneur Docker n'est pas un système d'exploitation Linux.

Les images Docker telles que ubuntu, centos, ... ne sont pas des systèmes d'exploitation. Ce ne sont que des images qui "imitent" une distribution OS du point qu'elles ont une structure de système de fichiers très similaire et des outils disponibles que l'on trouve généralement sur un OS tel qu'Ubuntu ou Centos. Ces images n'ont pas leur propre noyau empaqueté à l'intérieur.

Si vous vous demandez si vous pouvez exécuter l'image Docker ubuntu:16.04 sur une machine avec ubuntu:14.04, la réponse est oui. De plus, il ne devrait pas y avoir de problèmes de compatibilité en général avec d'autres images.

Maintenant, puisque le noyau ne fait pas partie de l'image, il est possible de créer une image Docker qui fonctionnerait sur une version de noyau et échouerait sur une autre. Par exemple, vous pouvez demander un appel système qui pourrait ne pas exister dans une version de noyau plus ancienne.

Cependant, ce problème n'est pas causé par Docker, mais il s'agit plutôt d'un problème de compatibilité avec le logiciel s'exécutant à l'intérieur du conteneur.

Enfin, si vous exécutez Docker sur une machine, vous aurez au minimum une version de noyau de 3.10 qui n'est pas très ancienne. Il est donc peu probable de rencontrer de telles limitations.

3voto

MaxB Points 689

Après plus de recherches, j'ai trouvé cette matrice de compatibilité

https://success.docker.com/article/Compatibility_Matrix

qui semble pertinente.

D'autres versions de système d'exploitation hôte ne sont pas prises en charge et, dans certains cas, peuvent déclencher des pannes de noyau, apparemment, par exemple : https://github.com/moby/moby/issues/29397

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X