Maison  >  Questions et réponses  >  le corps du texte

Docker和其他VM技术有什么不同?

最近发现Docker很火啊,好像所有的服务都可以放到Docker里面来跑。貌似Docker也分很多不同的系统,Docker也是一种虚拟机(VM)技术吗?我看Docker的镜像都很小,是不是一种简化的虚拟机呢?

黄舟黄舟2761 Il y a quelques jours839

répondre à tous(5)je répondrai

  • 阿神

    阿神2017-04-21 10:57:51

    Docker est une technologie de virtualisation dite légère au niveau du système d'exploitation par rapport à la virtualisation complète et à la paravirtualisation. La technologie de virtualisation traditionnelle prend beaucoup de temps pour générer un environnement. Pour Docker, le démarrage et la destruction se font en quelques secondes, et la technologie sous-jacente lxc (conteneur Linux) sur laquelle elle s'appuie est entièrement une fonctionnalité du noyau sans aucune surcharge de couche intermédiaire. extrêmement élevé et les performances sont proches de celles d’une machine physique. Bien sûr, puisque Docker s'appuie désormais sur LXC, vous ne pouvez l'exécuter que sous Linux (maintenant Mac OSX le prend également en charge, mais il utilise simplement VirtualBox pour créer une machine virtuelle Linux. Croyez-moi, il n'est pas nécessaire de l'utiliser sur Mac maintenant . Cela signifie que même pour le développement de Docker, je pense que vagrant est plus approprié. Je viens d'essayer l'outil Mac boot2docker hier et l'expérience a été vraiment mauvaise).

    Les soi-disant différents systèmes mentionnés dans le sujet sont en fait des images gérées par docker. Cela n'est pas nécessaire pour lxc, mais docker conserve cet ensemble d'images pour faciliter la sauvegarde de l'environnement d'application et obtenir une distribution d'environnement sans dépendance. . De plus, il n'est pas exact que les images Docker que vous avez dites sont très petites. La taille de l'image Docker est déterminée par l'application. Vous pouvez faire en sorte que votre image enregistre n'importe quoi, ce qui signifie qu'elle peut être de n'importe quelle taille.

    Docker ne convient pas à tout. À l'heure actuelle, il ne convient pas aux tâches de facturation avec des exigences de précision élevées, mais il suffit pour le PaaS ordinaire. De plus, docker se développe actuellement très rapidement. dans ses fonctionnalités. L'amélioration sera très rapide.

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-21 10:57:51

    Docker est un conteneur d'applications. Vous pouvez le considérer comme un conteneur, qui regroupe l'ensemble de l'environnement, y compris les applications et les dépendances d'applications. Cela rend l'installation et le déploiement pratiques, et chaque développeur utilise une version unifiée. pièges dus aux différentes versions de dépendances, et vous n'avez pas à vous soucier de la maintenance de la version vous-même.

    Sous Linux 64 bits, Docker n'utilise pas de machine virtuelle, les performances sont donc très bonnes. Sur les systèmes autres que les systèmes Linux 64 bits (y compris Windows, Mac OS X), Docker utilise la technologie des machines virtuelles.

    répondre
    0
  • 黄舟

    黄舟2017-04-21 10:57:51

    Docker réalise le PAAS, qui est une plate-forme en tant que service. Docker utilise la virtualisation du noyau lxc sur Linux 64 bits, qui est une virtualisation légère par rapport à la VM, elle n'a pas besoin de simuler le matériel et peut être partagée comme l'hôte. système d'exploitation et dispose de AUFS et lXC pour la virtualisation. L'ajout d'une image Ubuntu est de 265 Mo. Si vous souhaitez créer 1 000 nouveaux hôtes VM, vous aurez besoin de 265 000 Mo de mémoire, mais la capacité partagée du docker n'en aura besoin que d'un peu plus de 256. Si vous utilisez Linux lors de l'exécution de VMware, je pense que vous verrez que la consommation de mémoire de l'hôte est relativement importante. Un hôte cloud monocœur de mémoire Amazon EC2 n'a aucune pression pour exécuter 5 dockers. Si vous exécutez 5 VMware, ce sera le cas. fatigant

    répondre
    0
  • PHPz

    PHPz2017-04-21 10:57:51

    Un article que j’ai vu auparavant était très détaillé.
    http://tiewei.github.io/cloud/Docker-Getting-Start/

    répondre
    0
  • 阿神

    阿神2017-04-21 10:57:51

    Docker est basé sur LXC, qui est une solution de virtualisation au niveau des processus. Du point de vue de la machine hôte, chaque Docker exécutant est un processus.

    Xen/OpenVZ est une solution de virtualisation au niveau du système. Du point de vue de la machine hôte, chaque machine virtuelle est autorisée.

    Voici une comparaison plus détaillée : http://goldmann.fedorapeople.org/tmp/docker-preso/#/5

    répondre
    0
  • Annulerrépondre