76 votes

Quelle est la différence entre Docker Service et Docker Container?

Quand utilisons-nous une commande docker service create et quand utilisons-nous une commande docker run ?

39voto

Viswesn Points 543

En bref: menu fixe service est surtout utilisé lors de la configuration du nœud maître avec Docker essaim de sorte que les conteneurs docker s'exécutent dans un environnement distribué et il peut être facilement gérés.

Docker run: Le panneau de commande exécuter en crée d'abord une écriture conteneur de couche au-dessus de l'image spécifiée, et commence alors à l'aide de la commande spécifiée.

C'est, docker run est l'équivalent de l'API /conteneurs/créer, puis sur /conteneurs/(id)/start

source: https://docs.docker.com/engine/reference/commandline/run/#parent-command

Le panneau de service: Docker service sera l'image pour un microservice dans le cadre de certains des plus grands de l'application. Exemples de services pourraient inclure un serveur HTTP, une base de données, ou tout autre type de programme exécutable que vous souhaitez exécuter dans un environnement distribué.

Lorsque vous créez un service, vous spécifiez le conteneur de l'image à utiliser et les commandes à exécuter à l'intérieur de l'exécution de conteneurs. Vous pouvez également définir des options pour le service, y compris:

  • le port où l'essaim va rendre le service accessible à l'extérieur de l'essaim
  • un réseau de superposition pour le service pour se connecter à d'autres services de l'essaim
  • CPU et de la mémoire limites et réserves
  • un roulement de mise à jour de la politique
  • le nombre de répliques de l'image à exécuter dans l'essaim

source: https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/#services-tasks-and-containers

20voto

Teo Bebekis Points 41
  • docker run est utilisé pour créer une application autonome conteneur
  • le panneau de service créer est utilisé pour créer des instances (appelé tâches) de service en cours d'exécution dans un cluster (appelé essaim) d'ordinateurs (appelés nœuds). Ces tâches sont des conteneurs de cource, mais pas autonome des conteneurs. Dans un sens, d'un service agit comme un modèle lors de l'instanciation des tâches.

Par exemple

docker service create --name MY_SERVICE_NAME --replicas 3 IMAGE:TAG

crée 3 tâches de la MY_SERVICE_NAME service, qui est basé sur l'IMAGE:POINT image.

Plus d'informations peuvent être trouvées ici

17voto

Tristan Points 2251

Vous voudrez peut-être lire "Le service Docker est la nouvelle exécution du menu fixe "

Selon ces diapositives, "docker service create" est comme une exécution de docker "évoluée". Vous devez créer un "service" si vous souhaitez déployer un conteneur sur Docker Swarm

17voto

Julian Points 1578

Docker run démarrera un seul conteneur.

Avec le service Docker, vous gérez un groupe de conteneurs (à partir de la même image). Vous pouvez les mettre à l'échelle (démarrer plusieurs conteneurs) ou les mettre à jour.

13voto

Wilhelm Uschtrin Points 121

Les services Docker sont comme des "plans" pour les conteneurs. Vous pouvez par exemple définir un simple opérateur en tant que service, puis adapter ce service à 20 conteneurs pour passer rapidement dans une file d'attente. Ensuite, vous réduisez ce service à 3 conteneurs à nouveau. En outre, via Swarm, ces conteneurs pourraient être déployés sur différents nœuds de votre essaim.

Mais oui, je vous recommande également de lire la documentation, comme l'a suggéré @Tristan.

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