Maison > Article > Opération et maintenance > Quelle est la différence entre Docker et machine virtuelle
L'analyse des différences spécifiques est la suivante :
1 Différence essentielle
(Tutoriel recommandé : Tutoriel Docker)<.>
VM (VMware) crée une couche virtuelle, un système d'exploitation virtualisé et un entrepôt virtualisé basé sur la machine hôte et le système d'exploitation de la machine hôte, puis installe l'application<.>Taille :
Mémoire occupée par Ubuntu dans la machine virtuelle :
Mémoire occupée par le fichier image Ubuntu dans le conteneur Docker :
Démarrage :
Docker crée le moteur Docker sur le système d'exploitation de la machine hôte et appelle les ressources matérielles directement sur le système d'exploitation de la machine hôte au lieu de virtualiser le système d'exploitation et les ressources matérielles , donc la vitesse de fonctionnement est rapide.
Cela installe en fait une machine virtuelle Ubuntu et extrait un fichier image Docker Ubuntu. Vous le saurez après l'avoir exécuté. La différence est évidente. Il faut plus de 2 minutes pour ouvrir la machine virtuelle, alors que Docker n'en prend que 2. minutes. secondes.
Intégration :
Docker est mieux intégré que VM.
3. Fonctionnalités de Docker
1. Prise en main rapide
Les utilisateurs peuvent « Dockeriser » leurs propres programmes en quelques minutes seulement. Docker s'appuie sur le modèle "copie sur écriture", ce qui permet de modifier très rapidement l'application. On peut dire qu'il atteint le domaine du "le code est modifié à votre guise".
Vous pouvez ensuite créer un conteneur pour exécuter votre application. La plupart des conteneurs Docker démarrent en moins d'une seconde. Étant donné que la surcharge de l'hyperviseur est supprimée, les conteneurs Docker ont des performances élevées et davantage de conteneurs peuvent être exécutés sur le même hôte, permettant aux utilisateurs d'utiliser pleinement les ressources système autant que possible.
2. Classification logique des responsabilités
Avec Docker, les développeurs ne doivent se soucier que des applications exécutées dans les conteneurs, tandis que le personnel d'exploitation et de maintenance n'a qu'à se soucier de la façon de gérer les conteneurs. Le but de la conception de Docker est d'améliorer la cohérence entre l'environnement de développement dans lequel les développeurs écrivent le code et l'environnement de production dans lequel les applications sont déployées. Réduisant ainsi le genre de "tout est normal pendant le développement, ce doit être un problème d'exploitation et de maintenance (l'environnement de test est normal, s'il y a un problème après la mise en ligne, ce doit être un problème d'exploitation et de maintenance)"
3. Rapide et efficace Le cycle de vie du développement
L'un des objectifs de Docker est de raccourcir le cycle du code depuis le développement, les tests jusqu'au déploiement et à l'exploitation en ligne, rendant votre application portable, facile à construire et facile de collaborer. (En termes simples, Docker est comme une boîte qui peut contenir de nombreux objets. Si vous avez besoin de ces objets, vous pouvez les sortir directement de la grande boîte sans les sortir un par un de la boîte.)
4) Encourager l'utilisation d'une architecture orientée services
Docker encourage également l'architecture orientée services et l'architecture des microservices. Docker recommande qu'un seul conteneur n'exécute qu'une seule application ou processus, formant ainsi un modèle d'application distribué. Dans ce modèle, les applications ou les services peuvent être représentés comme une série de conteneurs interconnectés en interne, permettant ainsi un déploiement distribué, une extension ou un débogage de l'application. l'application devient très simple, tout en améliorant également l'introspection du programme. (Bien sûr, il est possible d'exécuter plusieurs applications dans un conteneur)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!