Quelle est la différence entre Docker et machine virtuelle
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.
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.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Docker LNMP Container Call Étapes: Exécutez le conteneur: docker run -d --name lnmp-container -p 80:80 -p 443: 443 lnmp-stack pour obtenir le conteneur ip: docker inspect lnmp-container | Site Web d'accès Grep iPadress: http: // & lt; contener ip & gt; /index.phpssh Access: docker exec -it lnmp-container bash access mysql: mysql -u roo

Comment exécuter les commandes Docker? Installez Docker et démarrez le démon. Commandes docker communes: Docker Images: Afficher l'image docker PS: afficher le conteneur Docker Exécuter: Exécuter le conteneur Docker Stop: Stop Container Docker RM: Delete Container Interagissez avec Container à l'aide de Docker Commande: Docker Exec: Exécuter Commande Docker Docker: Attacher les journaux Docker Console: Afficher le journal Dock

Vous pouvez créer des référentiels privés Docker pour stocker et gérer en toute sécurité les images de conteneurs, en fournissant un contrôle et une sécurité stricts. Les étapes incluent: la création d'un référentiel, l'accès, le déploiement d'un référentiel, la poussée d'une image et le tir d'une image. Les avantages incluent la sécurité, le contrôle des versions, la réduction du trafic réseau et la personnalisation.
