web-dev-qa-db-fra.com

Différence entre Docker et OpenVZ

Je suis novice dans le monde de la virtualisation. Quelqu'un peut-il m'expliquer les différences entre OpenVZ et Docker?

Qu'est-ce qui pourrait être bon pour l'avenir?

Avantages et inconvénients?

47
forum.test17

La perspective sur les conteneurs est très différente entre les 2.

En bref OpenVZ voit un conteneur comme un VPS, et docker voit un conteneur comme une application/service.

Qu'est-ce que cela implique? Pour OpenVZ , vous pouvez vous attendre à ce que lorsque vous créez conteneurs, son genre de faire des serveurs virtuels. OpenVZ possède des interfaces axées sur la configuration de conteneurs VPS que vous décorez vous-même manuellement. Par conséquent, ils fournissent des modèles pour les machines Linux vides que vous pouvez démarrer et arrêter, que vous utilisez ensuite SSH, pour les configurer vous-même avec tout ce dont vous avez besoin, comme une pile LAMP.

Lorsque vous souhaitez configurer une pile LAMP, vous le feriez comme vous le faites habituellement lorsque vous configurez un nouveau serveur. Vous obtenez une machine Linux vide avec un adaptateur Ethernet virtuel qui a son propre IP accessible au public WAN IP avec Ubuntu dessus, accédez-y avec SSH et installez tous les services requis en utilisant votre package moyen (yum ou apt) et effectuez vous-même la configuration requise dans les fichiers de configuration.

Pour Docker, , vous pouvez vous attendre à ce que lorsque vous créez des conteneurs, le conteneur soit une seule application, qui ne fasse QU'UNE chose. Par conséquent, il pourrait avoir besoin d'autres conteneurs pour l'aider. (Par exemple, un conteneur qui fournit une base de données) Docker a rendu très facile la définition de ce qui se trouve à l'intérieur d'un conteneur sans avoir à en démarrer réellement un et à créer constamment de nouvelles instances exactement égales de ce conteneur. Ils définissent le contenu d'un conteneur Docker (l'image) en utilisant des modèles très légers qu'ils appellent Dockerfiles.

Il existe déjà un énorme ensemble de fichiers docker, que vous pouvez trouver dans le Docker hub, jetez un œil vous-même (c'est comme être dans une confiserie avec des bonbons gratuits!: D): docker hub . Les images produites par ces dockerfiles peuvent être extraites avec l'outil CLI docker, à l'aide d'une commande d'extraction. Dans Docker, il existe également un accès facile à des choses comme la redirection de port, les répertoires virtuels (afin que vous puissiez accéder facilement aux fichiers sur la machine hôte) et à des choses similaires que tout exécutable pourrait utiliser.

Si vous voulez une pile LAMP dans docker, tout ce que vous faites est "docker run -d -p 80:80 tutum/lamp"

Cela tire l'image tutum/lampe, et l'exécute démonisé (-d) avec le port 80 du conteneur transmis au port 80 de l'hôte, exposant le service Web interne à l'extérieur. Comme vous pouvez le voir, il n'a pas sa propre adresse IP contrairement à une machine OpenVZ. Et c'est comme un serveur Apache fonctionnant sur votre machine racine. L'avantage par rapport à son installation native, c'est que docker rend l'installation beaucoup plus facile et reproductible à l'infini. De plus, il n'encombre pas votre machine hôte avec beaucoup de fichiers et fournit une limite de sécurité autour de votre application.

Il y a beaucoup de fonctionnalités dans la plupart des images de docker, qui lui sont propres. Pour l'image tutum/lampe, regardez ici.

70
RoyB