Les images et les con­te­neurs Docker assurent res­pec­ti­ve­ment l’exécution d’ap­pli­ca­tions dans des en­vi­ron­ne­ments isolés et le démarrage de ces en­vi­ron­ne­ments. Ils sont donc deux des éléments les plus im­por­tants de la pla­te­forme de vir­tua­li­sa­tion Docker et de l’éco­sys­tème Docker. Découvrez la dé­fi­ni­tion d’une image et d’un container Docker ainsi que leurs points communs et dif­fé­rences.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

Qu’est-ce qu’un conteneur Docker ?

Les con­te­neurs Docker sont des unités d’exécution isolées pour les ap­pli­ca­tions et leurs dé­pen­dances. Sur ce point, ils sont très si­mi­laires aux machines vir­tuelles (en abrégé « VM »), mais il existe quelques dif­fé­rences im­por­tantes. La prin­ci­pale dif­fé­rence est que le degré d’isolation des con­te­neurs est lé­gè­re­ment inférieur à celui des VM, car aucun système d’ex­ploi­ta­tion sup­plé­men­taire ne doit être vir­tua­lisé. Au lieu de cela, les con­te­neurs partagent le système d’ex­ploi­ta­tion et le cœur du système hôte. Cela présente quelques avantages qui fa­ci­li­tent et ac­cé­lè­rent le dé­ve­lop­pe­ment d’ap­pli­ca­tions, mais aussi quelques in­con­vé­nients.

La con­som­ma­tion de res­sources est beaucoup plus faible pour les con­te­neurs que pour les machines vir­tuelles. Ils pré­sen­tent donc de meil­leures per­for­mances que les VM et peuvent être lancés plus ra­pi­de­ment. En outre, ils sont beaucoup plus portables que les VM, car seule l’ap­pli­ca­tion à exécuter et ses dé­pen­dances doivent être trans­por­tées. Le faible overhead des con­te­neurs Docker offre un autre avantage : plusieurs con­te­neurs peuvent être exécutés si­mul­ta­né­ment sur le même système.

Un in­con­vé­nient de ce degré d’isolation plus faible est que les con­te­neurs pré­sen­tent une moins bonne sécurité que les VM. Comme tous les con­te­neurs ont accès au noyau du système d’ex­ploi­ta­tion, un conteneur « infecté » pourrait causer de sérieux dommages. Pour les ap­pli­ca­tions qui né­ces­si­tent un niveau de sécurité plus élevé, il est donc pré­fé­rable de recourir à une VM.

Conseil

Comme les con­te­neurs Docker con­tien­nent déjà toutes les dé­pen­dances né­ces­saires, vous pouvez faciliter gran­de­ment l’ex­ploi­ta­tion d’ap­pli­ca­tions Web pour vous et pour les uti­li­sa­teurs finaux. Le serveur Cloud de IONOS peut même être configuré de manière à ce que Docker soit déjà préins­tallé.

Qu’est-ce qu’une image Docker ?

Une image Docker est un modèle en lecture seule qui est utilisé par le moteur Docker pour créer un conteneur. Ainsi, les con­te­neurs Docker peuvent être con­si­dé­rés comme des instances exé­cu­tables d’images Docker. Ce modèle contient les dé­pen­dances de l’ap­pli­ca­tion à exécuter, l’en­vi­ron­ne­ment d’exécution né­ces­saire ainsi que le code d’ap­pli­ca­tion lui-même. En tant que modèle de conteneur, les images servent à créer des en­vi­ron­ne­ments d’exécution cohérents et re­pro­duc­tibles pour les ap­pli­ca­tions.

Les images Docker elles-mêmes sont stockées sous forme de fichiers binaires, mais peuvent aussi être stockées sous forme lisible. Ces fichiers textuels sont appelés Do­cker­files et con­tien­nent toutes les ins­truc­tions né­ces­saires à la res­tau­ra­tion de l’image. Tant les images Docker que les Do­cker­files sont portables et peuvent donc être trans­por­tés très fa­ci­le­ment d’un système à l’autre. Ainsi, les images Docker peuvent être stockées dans des ré­fé­ren­tiels Docker comme Docker Hub et té­lé­char­gées à partir de là. Les instances de con­te­neurs en cours d’exécution peuvent également être en­re­gis­trées en tant que fichiers image à l’aide de la commande docker commit.

Conseil

Lors du dé­ve­lop­pe­ment d’ap­pli­ca­tions, il est important de garder son espace de travail en ordre. Si vous tra­vail­lez depuis longtemps avec de nombreux con­te­neurs et images dif­fé­rents, vous en avez cer­tai­ne­ment quelques-uns sur votre or­di­na­teur dont vous n’avez plus besoin. Nos articles vous montrent comment supprimer les con­te­neurs Docker et les images Docker superflus.

Com­pa­ra­tif Docker : image vs container

Les images et les con­te­neurs Docker sont en fait la même chose, mais sous deux formes dif­fé­rentes. Une image est un modèle en lecture seule pour un conteneur, qui contient tous les fichiers, dé­pen­dances et en­vi­ron­ne­ments d’exécution né­ces­saires à l’exécution d’une ap­pli­ca­tion, ainsi que l’ap­pli­ca­tion elle-même. Un conteneur est une instance en cours d’exécution, non protégée en écriture, de ce fichier image, tout comme un programme en cours d’exécution est une instance des fichiers de programme installés sur le disque dur.

Ainsi, une image est un fichier binaire stocké dans le système de fichiers de l’or­di­na­teur hôte et un conteneur est un processus en cours d’exécution qui se trouve dans la mémoire vive du système. De même qu’une image Docker est utilisée pour créer un conteneur Docker, un conteneur en cours d’exécution peut également être en­re­gis­tré sous forme d’image. Celle-ci peut à son tour être utilisée pour répliquer exac­te­ment le même conteneur.

Conseil

Le terme « Docker » englobe bien plus que les images, les con­te­neurs et le moteur Docker : au fil du temps, un véritable éco­sys­tème d’outils Docker s’est développé ! Il comprend de nombreux outils et pla­te­formes utiles comme Docker-Hub, Swarm et Machine. Découvrez notre article sur le sujet pour en savoir plus.

Aller au menu principal