Diferencia entre detener, bajar, subir y comenzar en Docker Compose

  1. Diferencia entre docker compose stop y docker compose down
  2. Diferencia entre docker compose start y docker compose up
Diferencia entre detener, bajar, subir y comenzar en Docker Compose

Docker Compose tiene múltiples comandos similares pero funciona de una manera completamente diferente. Algunos ejemplos son los comandos docker compose stop y docker compose down y los comandos docker compose start y docker compose up.

Este artículo discutirá sus diferencias en consecuencia.

Diferencia entre docker compose stop y docker compose down

Uso del docker redact stop

La función principal de ejecutar el comando docker compose stop es detener los servicios de un contenedor en ejecución. El comando detendrá nuestros contenedores pero no necesariamente los eliminará.

Por ejemplo, el siguiente comando detendrá todos los contenedores si no especificamos un nombre o ID de contenedor:

docker compose stop

Producción :

Going to stop file, web, test
Stopping file ... done
Stopping web ... done
Stopping test ... done

Podemos especificar qué contenedor detener especificando un nombre o ID de contenedor:

docker compose stop file

Producción :

Going to stop file
Stopping file ... done

Además, podemos especificar un tiempo de espera de apagado al ejecutar docker compose stop. Docker generalmente esperará 10 segundos antes de detener nuestro contenedor.

Por ejemplo, si sabemos que nuestro contenedor puede necesitar un poco más de tiempo para detenerse, es posible que deseemos aumentar este valor de tiempo de espera, como se muestra a continuación.

docker compose stop file -t 60

Uso del docker componse down

Por otro lado, el comando docker comppose down nos da un paso extra en el proceso. Dicho comando detendrá y eliminará el contenedor y los servicios que se ejecutan en su interior; la eliminación incluye tanto el contenedor como las redes.

El docker compose down actúa de manera similar con docker stop <nombre o id del contenedor> y docker <prune o rm> cuando se ejecutan secuencialmente. Podemos decir que el comando docker comppose down es un pequeño atajo de dos comandos combinados.

Entonces, en lugar de ejecutar los dos comandos a continuación:

docker compose stop file && docker compose rm -f

En su lugar, podemos usar docker compone down.

docker compose down file

Podemos mejorarlo agregando un indicador -v o --volumes a nuestro comando docker redactar. El comando detendrá y eliminará los contenedores, sus redes y los volúmenes adjuntos cuando se ejecute.

Con la adición de dicha bandera, hemos combinado tres comandos en un solo comando.

docker compose down file -v

Podemos usar el comando docker compose down no solo para contenedores sino también para imágenes. Por ejemplo, podemos ejecutar el comando docker compose down --rmi <all or local> para eliminar imágenes.

El comando es similar al comando docker rmi cuando se usa en Docker nativo.

Diferencia entre docker compose start y docker compose up

Uso del docker compose start

Al igual que en nuestra sección anterior, los comandos docker compose start y docker compose up suenan similares pero funcionan de manera diferente. Por ejemplo, el comando docker compose start reinicia un contenedor en particular que se detuvo previamente.

docker compose start file

Además, dicho comando funciona solo para contenedores que ya están creados.

Entonces, ¿cómo podemos iniciar directamente un contenedor no creado? Podemos usar el siguiente comando a continuación.

Uso del docker componse up

El comando docker compose up inicia un nuevo contenedor basado en el archivo docker-compose.yml. Es similar a ejecutar docker create y docker start cuando se ejecutan secuencialmente entre sí.

Como estamos usando un archivo YAML, podemos crear e iniciar varios contenedores con un solo comando.

docker compose up

Producción :

Creating file
Creating web
Creating test

Cuando usamos docker compose up, si hay algún cambio en el archivo YAML de origen, los contenedores basados en ese archivo YAML se detendrán y se volverán a crear.

Para evitar esto, podemos usar la opción –-no-recreate como se muestra a continuación durante docker compose up. Para resumir, si el contenedor ya existe, el comando no lo volverá a crear.

docker-compose up -d --no-recreate

Además, al igual que docker compose stop, podemos especificar un valor de tiempo de espera.

docker-compose up -d -t 30

También podemos decir que esta es la contrapartida principal del comando docker run cuando se ejecuta e inicia un nuevo contenedor en un entorno Vanilla Docker.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - Docker Compose