dockery docker-composeparece estar interactuando con el mismo dockerFile, ¿cuál es la diferencia entre las dos herramientas?
fuente
dockery docker-composeparece estar interactuando con el mismo dockerFile, ¿cuál es la diferencia entre las dos herramientas?
El dockercli 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-composecli 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 runcli al docker-compose.ymlarchivo 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-composehace con dockercomandos 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_namelugar de docker-compose upy luego administrar la pila con dockercomandos en lugar de docker-composecomandos. 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 uppara 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 lawebsección apunta a la ubicación del Dockerfile creado en el paso 1.