Ir al contenido

Detener, iniciar y reiniciar

Un contenedor atraviesa estados: creado, en ejecución y detenido. Detener, iniciar y reiniciar mueven el contenedor entre esos estados sin eliminarlo. Existen porque un servidor se apaga para descansar, se enciende para servir y se reinicia para aplicar un cambio: todo sin perder el contenedor.

  • Los tres estados del ciclo de vida y cómo moverte entre ellos.
  • Cómo detener, iniciar y reiniciar con stop, start y restart.
  • Por qué un contenedor detenido conserva su nombre y su filesystem.
  • Qué resultado esperar de docker ps -a en cada estado.

Necesitas el contenedor web en ejecución, creado en Ejecutar contenedores. Verifica su estado con docker ps, como aprendiste en Ver y consultar contenedores.

terminal
docker stop web

Docker pide al proceso principal que termine con calma y le da unos segundos antes de forzarlo. El contenedor pasa a estado detenido: conserva su nombre, su configuración y todo lo que escribió en su propio filesystem.

Comprueba el nuevo estado con la vista completa:

terminal
docker ps -a
resultado
CONTAINER ID IMAGE STATUS PORTS NAMES
a1b2c3d4e5f6 nginx:1.29 Exited (0) 5 seconds ago web

El estado Exited (0) confirma una salida limpia y la fila sigue ahí: el contenedor existe, solo está apagado. Fíjate en que ya no publica puertos mientras está detenido.

terminal
docker start web
terminal
docker restart web

start enciende un contenedor detenido con su misma configuración: no crea uno nuevo. restart es detener y arrancar de nuevo en un solo paso, útil cuando cambiaste algo que el proceso lee al inicio. Verifica después de cada comando con docker ps que el estado volvió a Up.

Reiniciar como primer remedio ante cualquier fallo sin mirar el estado ni los logs. Reiniciar borra la evidencia del momento: primero consulta con docker ps -a y lee los logs, y solo después decide si reiniciar tiene sentido.

Continúa con Logs para leer lo que el proceso del contenedor cuenta sobre su propia salud.