Maison >Opération et maintenance >Docker >Quels sont les avantages et les inconvénients de Docker

Quels sont les avantages et les inconvénients de Docker

青灯夜游
青灯夜游original
2022-02-21 16:49:2817064parcourir

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.

Quels sont les avantages et les inconvénients de Docker

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).

  • En bref, choisir un conteneur ou une machine virtuelle est un compromis entre l'isolement et la réutilisabilité des ressources. De plus, même si Docker 0.7 peut prendre en charge les systèmes de fichiers non AUFS, ses fonctions sont toujours instables et les applications commerciales peuvent rencontrer des problèmes. La version stable d'AUFS nécessite le noyau 3.8, donc si vous souhaitez reproduire le succès de dotcloud, vous pouvez le faire. devez envisager de mettre à niveau le noyau ou de passer à la version serveur d'Ubuntu (cette dernière fournit des mises à jour deb). C'est aussi la raison pour laquelle la communauté open source est plus encline à prendre en charge Ubuntu (version noyau).

  • Développer les connaissances : problèmes de sécurité de Docker
  • 1) Sécurité de l'environnement Docker
  • La dynamique de Docker a été très forte au cours des 12 derniers mois, et de nombreuses personnes disent qu'il est rare de voir une technologie aussi émergente qui puisse attirer intérêt de l'industrie. Cependant, lorsque l'enthousiasme se traduit par des déploiements réels, les entreprises doivent prêter attention à la sécurité de Docker. Quiconque connaît Docker sait que Docker utilise des conteneurs pour isoler efficacement les ressources. Par conséquent, les conteneurs ont presque le même niveau de gestion des opérations de sécurité et de gestion de la configuration que le système d'exploitation Linux et l'hyperviseur. Mais lorsqu'il s'agit d'opérations et de gestion de la sécurité, ainsi que de prise en charge de contrôles communs garantissant confidentialité, intégrité et disponibilité, Docker peut vous décevoir.

    La sécurité de Docker devient plus complexe lorsque Docker s'exécute sur une plate-forme de fournisseur de cloud. Vous devez savoir ce que fait le fournisseur de cloud, peut-être partagez-vous une machine avec d'autres. Docker Bien que les conteneurs n'aient pas de facteurs de sécurité intégrés et qu'il soit difficile pour les technologies émergentes comme Docker de disposer de mesures de sécurité relativement complètes, cela ne signifie pas qu'elles n'apparaîtront pas à l'avenir.
2) Docker assure la sécurité du déploiement des conteneurs

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!

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
Article précédent:Qu'est-ce que Geth dans DockerArticle suivant:Qu'est-ce que Geth dans Docker