Maison  >  Article  >  Opération et maintenance  >  Quelle est la différence entre Docker et machine virtuelle

Quelle est la différence entre Docker et machine virtuelle

WBOY
WBOYoriginal
2022-08-29 16:28:2045068parcourir

La différence entre Docker et les machines virtuelles : 1. Docker démarre rapidement au deuxième niveau, alors que les machines virtuelles mettent généralement plusieurs minutes à démarrer ; 2. Différentes pertes de performances, Docker nécessite moins de ressources 3. Isolation différente, Docker est un processus ; L'isolation entre elles est faible, tandis que les machines virtuelles peuvent réaliser une isolation au niveau du système.

Quelle est la différence entre Docker et machine virtuelle

L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.

Quelle est la différence entre Docker et une machine virtuelle ?

Machine virtuelle : une machine virtuelle utilise un hyperviseur (système de gestion de machine virtuelle, les plus courants incluent la station de travail VMWare, VirtualBox) pour virtualiser le matériel virtuel tel que les cartes réseau, les processeurs et mémoire, puis construisez-la dessus. Créez une machine virtuelle. Chaque machine virtuelle est un système d'exploitation indépendant et possède son propre noyau système.

Conteneurs : les conteneurs utilisent l'espace de noms pour isoler les systèmes de fichiers, les processus, les réseaux, les périphériques et autres ressources, et utilisent des groupes de contrôle pour limiter les autorisations et les ressources CPU. En fin de compte, les conteneurs ne s'affectent pas les uns les autres et les conteneurs ne peuvent pas affecter l'hôte.

Avantages de Docker

Le programme Docker exécuté sur le conteneur utilise directement les ressources matérielles de l'hôte, donc en termes de CPU, de mémoire et d'utilisation, Docker aura de plus grands avantages en termes d'efficacité

Docker utilise directement le système noyau de l'hôte, évitant le temps de démarrage du système requis lors du démarrage d'une machine virtuelle et la consommation de ressources du système d'exploitation en cours d'exécution, Docker peut être utilisé pour démarrer un grand nombre de conteneurs en quelques secondes, ce qui est impossible pour une machine virtuelle arrivée. . Les avantages d'un démarrage rapide et d'une faible consommation de ressources font de Docker un bon scénario d'application dans le système d'exploitation et de maintenance automatique des plates-formes cloud élastiques.

Le temps de démarrage du conteneur est de quelques secondes, ce qui permet de gagner beaucoup de temps en développement, tests et déploiement. Un autre point très critique est que Docker peut être déployé et étendu efficacement. Les conteneurs Docker peuvent fonctionner sur presque toutes les plateformes, y compris les machines virtuelles, les machines physiques, les cloud publics, les cloud privés, les ordinateurs personnels, les serveurs, etc. migrez directement une application d’une plateforme à une autre.

Cependant, la sécurité des machines virtuelles est meilleure que celle des conteneurs. Docker partage des ressources telles que le noyau et le système de fichiers avec l'hôte et est plus susceptible d'affecter d'autres conteneurs et hôtes.

Quelle est la différence entre Docker et machine virtuelle

Différences

1. Différentes vitesses de démarrage

Docker démarre rapidement au deuxième niveau. Les machines virtuelles mettent généralement plusieurs minutes à démarrer.

2. Différentes pertes de performances

Docker nécessite moins de ressources. Docker virtualise au niveau du système d'exploitation. Il n'y a presque aucune perte de performances que la virtualisation via la couche Hyperviseur. couche du noyau.

3. Différents taux d'utilisation du système

docker est plus léger L'architecture docker peut partager un noyau et une bibliothèque d'applications partagée, occupant très peu de mémoire. Dans le même environnement matériel, Docker exécute beaucoup plus d'images que de machines virtuelles et l'utilisation du système est très élevée.

4. Isolation différente

Par rapport aux machines virtuelles, l'isolation Docker appartient à l'isolation entre les processus, et les machines virtuelles peuvent atteindre une isolation au niveau du système.

5. La sécurité est différente

La sécurité de Docker est également plus faible. La racine du locataire de Docker est la même que la racine de l'hôte. Une fois que l'utilisateur du conteneur est passé des droits d'utilisateur ordinaires aux droits root, il disposera directement des droits root de l'hôte et pourra effectuer un nombre illimité d'opérations. Les autorisations racine du locataire de la machine virtuelle sont séparées des autorisations de la machine virtuelle racine de l'hôte, et les machines virtuelles utilisent une technologie d'isolation matérielle ring-1 telle que VT-d et VT-x d'Intel. Cette technologie d'isolation peut empêcher les machines virtuelles de percer et d'interagir. entre eux, et les conteneurs ne disposent pas encore d'une quelconque forme d'isolation matérielle, ce qui rend les conteneurs vulnérables aux attaques.

6. Gérabilité différente

Les outils de gestion centralisée de Docker ne sont pas encore matures. Diverses technologies de virtualisation disposent d'outils de gestion matures. Par exemple, VMware vCenter offre des capacités complètes de gestion des machines virtuelles.

7. La disponibilité et la récupérabilité sont différentes

Le support haute disponibilité de Docker pour les entreprises est obtenu grâce à un redéploiement rapide. La virtualisation dispose de mécanismes de garantie matures tels que l'équilibrage de charge, la haute disponibilité, la tolérance aux pannes, la migration et la protection des données qui ont été testés dans les pratiques de production. VMware peut promettre une haute disponibilité de 99,999 % des machines virtuelles pour assurer la continuité des activités.

8. Les vitesses de création et de suppression sont différentes

La création de virtualisation prend quelques minutes, tandis que la création de conteneur Docker prend quelques secondes. L'itération rapide de Docker détermine que beaucoup de temps peut être économisé dans le développement, les tests et le déploiement.

9. Les vitesses de livraison et de déploiement sont différentes

Les machines virtuelles peuvent obtenir une livraison cohérente de l'environnement via des images, mais Docker enregistre le processus de construction du conteneur dans le Dockerfile, ce qui permet une distribution et un déploiement rapides dans le fichier Docker. cluster Déploiement rapide ;

Apprentissage recommandé : "Tutoriel vidéo Docker"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn