Iniciar un servicio específico definido en el archivo compose
En el paso anterior, iniciamos todos los servicios definidos en nuestro archivo docker-compose.yml
usando docker-compose up
. En este paso, aprenderemos cómo iniciar un servicio específico cuando tienes múltiples servicios definidos en tu archivo Compose.
Aunque nuestro archivo docker-compose.yml
actual solo tiene un servicio (web
), el comando para iniciar un servicio específico es útil cuando tienes una aplicación más compleja con múltiples servicios (como un servidor web, una base de datos y una API backend).
Primero, detengamos el servicio que está actualmente en ejecución. Podemos hacer esto usando el comando docker-compose down
. Este comando detiene y elimina los contenedores, redes y volúmenes creados por up
.
Asegúrate de estar en el directorio ~/project/my-compose-app
.
cd ~/project/my-compose-app
Ahora, ejecuta el comando docker-compose down
.
docker-compose down
Verás una salida indicando que el contenedor y la red están siendo detenidos y eliminados.
Stopping my-compose-app_web_1 ... done
Removing my-compose-app_web_1 ... done
Removing network my-compose-app_default
Puedes verificar que el contenedor está detenido ejecutando docker ps
. No debería haber contenedores en ejecución de nuestro archivo compose.
docker ps
Ahora, demostremos cómo iniciar un servicio específico. El comando es docker-compose up <nombre_del_servicio>
. En nuestro caso, el nombre del servicio es web
. Usaremos nuevamente la bandera -d
para ejecutarlo en modo detached (desacoplado).
docker-compose up -d web
Este comando solo iniciará el servicio web
como está definido en el archivo docker-compose.yml
. Como la imagen ya fue descargada en el paso anterior, creará e iniciará el contenedor directamente.
Verás una salida similar a esta:
Creating my-compose-app_web_1 ... done
Nuevamente, puedes verificar que el contenedor web
está en ejecución usando docker ps
.
docker ps
Deberías ver el contenedor my-compose-app_web_1
listado con un estado de Up
.
Esto demuestra cómo iniciar selectivamente servicios definidos en tu archivo docker-compose.yml
, lo cual es útil para administrar aplicaciones más complejas con múltiples servicios.