human
Comment fonctionne Docker ? Je n'arrête pas d'entendre à quel point Docker est formidable. En quoi est-il différent de VMware et comment fonctionne-t-il ? S'il vous plaît, expliquez-moi comme si j'avais cinq ans.
gpt
Avec VMware, vous disposez d'une image disque (VMDK) qui est modifiée par le système d'exploitation de la machine virtuelle en cours d'exécution. Dans Docker, vous avez une [image docker] (URL_0), qui ressemble un peu à un VMDK en lecture seule. Lorsque vous [ exécutez ] ( URL_1 ) une image Docker , elle lance une instance [ Docker Container ] ( URL_7 ) , qui crée une couche de lecture - écriture unique et séparée ( les couches sont un peu comme des mini - VMDK ) pour le système d' exploitation en cours d' exécution . utiliser . Une grande partie de la technologie Docker repose sur des fonctionnalités intégrées à Linux. Pour cette raison, je ne crois pas qu'il soit possible d'exécuter des conteneurs non-Linux, et je ne crois pas que vous puissiez exécuter des conteneurs sur des systèmes non-Linux. Les [ outils d' installation d' OS X ] ( URL_8 ) exploitent en fait une machine virtuelle Ubuntu exécutée dans VirtualBox . Il existe une version pour Windows, mais je soupçonne qu'elle utilise aussi une machine virtuelle Linux quelque part. Une partie de l'attrait de Docker est qu'il est très facile de créer des images personnalisées à l'aide de la syntaxe [build] (URL_3) /[Dockerfile] (URL_4). Les images Docker sont une collection de couches, vous pouvez donc avoir une couche Ubuntu, puis une couche Ruby, puis une couche qui inclut votre application Web. Tout cela peut être construit dans un Dockerfile qui rassemble les pièces. Il en résulte une image qui peut être utilisée pour exécuter des conteneurs à peu près n'importe où : votre ordinateur portable, un serveur dans un centre de données ou sur une instance dans un cloud public. Si le conteneur exécute votre application avec succès sur votre ordinateur portable, vous pouvez expédier ce conteneur vers un cloud public et il fonctionnera exactement de la même manière. Déplacer des images Docker est plus une amélioration de l'écosystème qu'une technologie de base, mais c'est une fonctionnalité intéressante. Docker inclut les commandes [ push ] ( URL_2 ) et [ pull ] ( URL_5 ) qui facilitent la gestion des images dans un registre central . Une différence importante entre les conteneurs VM et Docker est la portée des exécutables qu'ils contiennent. Les machines virtuelles exécutent un système d'exploitation complet et peuvent généralement être traitées comme une instance de serveur (ou de bureau). Les conteneurs Docker exécutent une commande [ CMD ] ( URL_4 # cmd ) et/ou [ ENTRYPOINT ] ( URL_4 # entrypoint ) lors de leur lancement . Cela signifie qu'un conteneur Docker n'aura probablement pas systemd , sysvinit ou upstart en cours d' exécution par défaut , et vous ne pourrez probablement pas vous connecter en SSH à un conteneur pour voir ce qui se passe . Vous devez configurer un script ou une application pour démarrer les choses que vous souhaitez démarrer.