Avantages : 1. Livraison et déploiement plus rapides ; 2. Virtualisation plus efficace 3. Migration et extension plus faciles 4. Gestion plus simple ; 5. Faible consommation de processeur/mémoire ; Inconvénients : 1. Il ne peut pas être utilisé dans les environnements Linux, Windows ou Unix 32 bits 2. La gestion des disques par Docker est relativement limitée, etc.
L'environnement d'exploitation de ce tutoriel : système linux5.9.8, version docker-1.13.1, ordinateur Dell G3.
En tant que méthode de virtualisation émergente, Docker présente de nombreux avantages par rapport aux méthodes de virtualisation traditionnelles. Tout d’abord, les conteneurs Docker peuvent être démarrés en quelques secondes, ce qui est beaucoup plus rapide que les méthodes traditionnelles des machines virtuelles. Deuxièmement, Docker a un taux d'utilisation élevé des ressources système. Des milliers de conteneurs Docker peuvent être exécutés simultanément sur un seul hôte. En plus d'y exécuter l'application, le conteneur ne consomme pratiquement aucune ressource système supplémentaire, ce qui rend les performances de l'application très élevées et la surcharge du système aussi réduite que possible. La méthode traditionnelle des machines virtuelles nécessite 10 machines virtuelles pour exécuter 10 applications différentes, tandis que Docker n'a besoin que de démarrer 10 applications isolées.
Docker présente de grands avantages dans les aspects suivants.
1) Livraison et déploiement plus rapides
Pour le personnel de développement, d'exploitation et de maintenance (devops), ce qu'ils espèrent le plus, c'est de créer ou de configurer une fois et de s'exécuter normalement n'importe où. Les développeurs peuvent utiliser une image standard pour créer un ensemble de conteneurs de développement. Une fois le développement terminé, le personnel d'exploitation et de maintenance peut directement utiliser ce conteneur pour déployer du code. Docker peut créer rapidement des conteneurs, itérer rapidement des applications et rendre l'ensemble du processus visible, permettant ainsi aux autres membres de l'équipe de comprendre plus facilement comment l'application est créée et fonctionne. Les conteneurs Docker sont légers et rapides ! Le temps de démarrage du conteneur est de quelques secondes, ce qui permet de gagner beaucoup de temps en matière de développement, de test et de déploiement.
2) Une virtualisation plus efficace
L'exécution des conteneurs Docker ne nécessite pas de prise en charge supplémentaire de l'hyperviseur. Il s'agit d'une virtualisation au niveau du noyau, elle peut donc atteindre des performances et une efficacité plus élevées. + Quelles sont les limites ?
Docker n'est pas omnipotent et n'a pas été conçu à l'origine pour remplacer les méthodes de virtualisation telles que KVM. Voici quelques points de résumé simples : 1) Docker est basé sur Linux 64 bits et ne peut pas être utilisé sous Linux/32 bits. Environnements Windows/Unix Utiliser ci-dessous. 2) LXC est basé sur des fonctions du noyau Linux telles que Cgroup, donc le système invité de Container ne peut être qu'une base Linux. 3) Par rapport aux solutions de virtualisation telles que KVM, l'isolation fait encore quelque peu défaut. Tous les conteneurs partagent une partie de la bibliothèque d'exécution. La gestion du réseau est relativement simple, principalement basée sur l'isolation des espaces de noms.4) Les fonctions CPU fournies par cgroup et cpuset sont difficiles à mesurer par rapport aux solutions de virtualisation telles que KVM (donc dotcloud facture principalement en fonction de la mémoire).
5) La gestion des disques par Docker est relativement limitée. 6) Le conteneur est détruit lorsque le processus utilisateur s'arrête et les données utilisateur telles que les journaux dans le conteneur ne sont pas pratiques à collecter. Les limitations ci-dessus peuvent donc être divisées selon les applicabilités suivantes : Pour 1-2, ceux qui ont besoin d'applications de base Windows peuvent essentiellement passer. Pour 3-5, cela dépend principalement des besoins de l'utilisateur, s'il a besoin d'un conteneur ou d'une VM. Cela détermine également que Docker n'est pas réalisable en tant qu'IaaS. Pour 6-7, bien qu'il s'agisse d'une fonction que docker lui-même ne prend pas en charge, elle peut être résolue par d'autres moyens (quota de disque, mount –bind).Certains experts positionnent également l'essence des problèmes de sécurité de Docker dans la sécurité de la configuration, estimant que le problème actuel avec Docker est qu'il est difficile de configurer un conteneur sécurisé. Alors que les développeurs Docker réduisent désormais la surface d'attaque en créant de très petits conteneurs, le problème est que les employés des grandes entreprises qui exécutent des conteneurs Docker dans des environnements de production ont besoin de plus de visibilité et de contrôle. Lorsqu'une entreprise déploie des milliers ou des dizaines de milliers de conteneurs Docker, il est crucial de s'assurer que ces conteneurs Docker sont configurés conformément aux politiques de sécurité de l'entreprise.
Pour résoudre ce problème, Docker doit augmenter la visibilité en temps réel du déploiement des conteneurs Docker et mettre en œuvre les politiques de sécurité formulées par l'entreprise. Certains fournisseurs ont également lancé des solutions à cet effet, offrant aux opérateurs une visibilité en temps réel et les aidant à appliquer des politiques de sécurité pour l'infrastructure virtuelle au niveau des conteneurs.
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!