tag run hub example and docker docker-compose

run - docker tag



¿Cuál es la diferencia entre docker y docker-compose? (2)

docker y docker-compose parecen estar interactuando con el mismo dockerFile, ¿cuál es la diferencia entre las dos herramientas?


El docker Cli se utiliza al administrar contenedores individuales en un motor Docker. Es la línea de comando del cliente para acceder a la api docker daemon.

El cli docker-compose 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 archivo docker-compose.yml para una reutilización más fácil. Funciona como un "script" front-end en la parte superior de la misma api docker utilizada por docker , por lo que puede hacer todo lo que docker-compose hace con los comandos de docker 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 docker stack deploy -c docker-compose.yml $stack_name lugar de docker-compose up y luego administrar la pila con comandos docker lugar de comandos docker-compose . El mapeo es uno por uno entre los dos usos:

  • Redactar proyecto -> Pila de enjambre: un grupo de servicios para un propósito específico
  • Servicio de redacción -> Servicio de enjambre: una imagen y su configuración, posiblemente ampliada.
  • Redactar contenedor -> Tarea de enjambre: un único contenedor en un servicio

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 contenedor

El uso de docker-compose requiere 3 pasos:

  1. Defina el entorno de la aplicación con un Dockerfile
  2. Defina los servicios de la aplicación en docker-compose.yml
  3. Ejecute docker-compose up para iniciar y ejecutar la aplicación

A 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: {}