Diferencia entre detener, bajar, subir y comenzar en Docker Compose
-
Diferencia entre
docker compose stop
ydocker compose down
-
Diferencia entre
docker compose start
ydocker compose up
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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn