Réponses:
Le docker
cli est utilisé lors de la gestion de conteneurs individuels sur un moteur docker. Il s'agit de la ligne de commande client pour accéder à l'API du démon Docker.
Le docker-compose
cli peut être utilisé pour gérer une application multi-conteneurs. Il déplace également de nombreuses options que vous saisiriez sur le docker run
cli dans le docker-compose.yml
fichier pour une réutilisation plus facile. Il fonctionne comme un "script" frontal au-dessus de la même API docker utilisée par docker
, vous pouvez donc tout faire docker-compose
avec des docker
commandes et beaucoup de scripts shell. Voir cette documentation sur docker-compose pour plus de détails.
Mise à jour pour le mode Swarm
Depuis que cette réponse a été publiée, docker a ajouté une deuxième utilisation des fichiers docker-compose.yml. À partir du format yml de la version 3 et de docker 1.13, vous pouvez utiliser le yml avec docker-compose et également pour définir une pile en mode swarm de docker. Pour faire ce dernier, vous devez utiliser docker stack deploy -c docker-compose.yml $stack_name
au lieu de docker-compose up
puis gérer la pile avec des docker
commandes au lieu de docker-compose
commandes. Le mappage est un pour un entre les deux utilisations:
Pour plus de détails sur le mode Swarm, consultez la documentation du mode Swarm de Docker .
docker
gère des conteneurs simples
docker-compose
gère plusieurs applications de conteneurs
L'utilisation de docker-compose nécessite 3 étapes:
docker-compose up
pour démarrer et exécuter l'applicationVoici un exemple de docker-compose.yml tiré des documents de docker :
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
build: .
dans laweb
section pointe vers l'emplacement du Dockerfile créé à l'étape 1.