Respuestas:
El docker
cli se usa al administrar contenedores individuales en un motor acoplable. Es la línea de comando del cliente para acceder a la api docker daemon.
El docker-compose
cli se puede usar para administrar una aplicación de contenedores múltiples. También mueve muchas de las opciones que ingresaría en el docker run
cli al docker-compose.yml
archivo para una reutilización más fácil. Funciona como un "script" front-end en la parte superior de la misma API de Docker utilizada docker
, por lo que puede hacer todo lo que docker-compose
hace con docker
comandos y una gran cantidad de scripts de shell. Consulte esta documentación en docker-compose para obtener más detalles.
Actualización para el modo Enjambre
Desde que se publicó esta respuesta, docker ha agregado un segundo uso de los archivos docker-compose.yml. Comenzando con el formato yml de la versión 3 y docker 1.13, puede usar el yml con docker-compose y también para definir una pila en el modo enjambre de docker. Para hacer esto último, debe usar en docker stack deploy -c docker-compose.yml $stack_name
lugar de docker-compose up
y luego administrar la pila con docker
comandos en lugar de docker-compose
comandos. El mapeo es uno por uno entre los dos usos:
Para obtener más detalles sobre el modo enjambre, consulte la documentación del modo enjambre de Docker .
docker
gestiona contenedores individuales
docker-compose
gestiona múltiples aplicaciones de contenedores
El uso de docker-compose requiere 3 pasos:
docker-compose up
para iniciar y ejecutar la aplicaciónA continuación se muestra un ejemplo de docker-compose.yml tomado de los documentos de docker :
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
build: .
en laweb
sección apunta a la ubicación del Dockerfile creado en el paso 1.