448 votes

Quelle est la différence entre docker compose et kubernetes?

Lorsque vous plongez dans Docker, Google Cloud et Kubernetes, et sans les comprendre clairement pour le moment, il me semble que ces produits se chevauchent, mais qu’ils ne sont pas compatibles.

Par exemple, un fichier de composition de docker doit être réécrit pour qu'une application puisse être déployée sur Kubernetes.

Quelqu'un pourrait-il fournir une description approximative de haut niveau des endroits où Docker, Docker-Compose, Docker Cloud et Kubernetes se chevauchent et où l'un dépend de l'autre?

858voto

yamenk Points 11478

Docker:

Docker est le conteneur de la technologie qui vous permet de placer vos applications. Docker est la base pour l'utilisation d'autres technologies.

Docker Composer:

Permet la configuration et le démarrage de plusieurs conteneurs docker. Ceci est principalement utilisé comme une aide quand vous voulez démarrer plusieurs conteneurs docker et ne veux pas commencer chacun séparément à l'aide d' docker run .... Docker compose est utilisé pour le démarrage des conteneurs sur le même hôte.

Docker Essaim:

Docker essaim est pour l'exécution et la connexion des conteneurs sur plusieurs hôtes. Docker swarm est un conteneur de cluster de gestion et d'orchestration outil. Il gère les conteneurs en cours d'exécution sur plusieurs hôtes et fait des choses comme la mise à l'échelle, en commençant un nouveau récipient lorsque l'on se bloque, la mise en réseau des conteneurs ...

Docker essaim est docker à la production. C'est le natif de docker orchestration outil qui est incorporé dans le Panneau de Moteur.

Le docker essaim fichier nommé pile de fichier est très similaire à un menu fixe composer de fichier.

Kubernetes:

Un conteneur d'orchestration outil développé par Google. Kubernetes objectif est très similaire que pour le Panneau de l'essaim.

Docker Cloud:

Un payée entreprise docker service qui vous permet de créer et d'exécuter des conteneurs sur les serveurs ou des serveurs locaux. Il fournit une INTERFACE Web et un panneau de commande central pour exécuter et gérer les conteneurs tout en offrant tout le docker fonctionnalités dans une interface Web conviviale.

Mise à jour:

Docker cloud "partiellement" abandonnées

Les services sur le Panneau de Cloud qui fournissent de l'application, nœud, et l'essaim de gestion de cluster sera la fermeture le 21 Mai... générations automatisées de registre et de services de stockage, ne sera pas affecté et continuera à être disponible

238voto

antithesis Points 386

En plus de @yamenk de la réponse, j'aimerais ajouter quelques détails ici qui pourraient aider les gens avec leur chemin de la compréhension de Kubernetes.

Réponse courte:

  • docker-compose: est un outil qui prend un fichier YAML qui décrit votre multi-conteneur de l'application et vous aide à créer, démarrer/arrêter, supprimer tous ces conteneurs, sans avoir à saisir plusieurs docker ... des commandes pour chaque conteneur.
  • Kubernetes: est une plate-forme pour la gestion des conteneurs charges de travail et des services, qui facilite à la fois déclarative de la configuration et de l'automatisation. Quoi?

175voto

Aniket Alhat Points 21

Si vous mettez en réseau des conteneurs avec le même hôte, choisissez docker compose .

Si vous mettez en réseau des conteneurs sur plusieurs hôtes, optez pour kubernetes .

16voto

la première distinction est entre le contenant et le moteur de la conteneur orchestrator.

docker est un conteneur moteur, il vous fait vous créez et exécutez généralement pas plus d'un conteneur à la plupart, localement sur votre PC à des fins de développement.

docker-compose est un Docker utilitaire pour exécuter plusieurs conteneurs et de leur permettre de partager des volumes et de la mise en réseau via le menu fixe les fonctionnalités du moteur, s'exécute localement pour émuler le service à la composition et à distance sur des clusters.

Kubernetes est un conteneur d'orchestration de plate-forme, il prend soin de l'exécution de conteneurs et d'améliorer les caractéristiques du moteur, de sorte que les conteneurs peuvent être composés et mis à l'échelle pour servir des applications complexes (sorte de PaaS, géré par vous ou le fournisseur d'informatique en nuage). Principal Kubernetes fonctionnalité est à dissocier de l'infrastructure de l'application à l'aide de conteneurs, et il est également ouvert pour les autres moteurs de Docker, par exemple, il peut exécuter des récipients avec de cr ou de cri-o.

Docker cloud est également un PaaS offre qui vous permettra d'exécuter et de gérer des conteneurs à travers l' docker API du moteur.

Maintenant, en fonction de vos besoins, du niveau de contrôle sur l'infrastructure et le public cible que vous pouvez utiliser Kubernetes sur baremetal, ou Azure ACS ou Google GKE, etc...

Espérons que cela m'a aidé :) Ce qui concerne

2voto

Daniel Points 1346

Docker Composer:

En docker-compose.yml le fichier de chaque entrée peut éventuellement obtenir de l' docker-compose pour construire une image. chaque entrée peut représenter un conteneur unique nous voulons construire, et chaque entrée définit la mise en réseau des exigences ou des ports.

Kubernetes:

Kubernetes attend de toutes les images déjà construit et il y a un fichier de config pour objet que nous voulons créer et nous avons manuellement l'installation de tous les réseaux.

Afin de nous assurer que notre image est hébergée sur Docker Hub, faire un fichier de configuration pour créer le conteneur et un fichier de configuration pour configurer la mise en réseau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X