Cómo iniciar un contenedor Docker detenido

DockerBeginner
Practicar Ahora

Introducción

Los contenedores Docker se han convertido en una parte esencial del desarrollo y despliegue de software moderno. En este tutorial, lo guiaremos a través del proceso de reiniciar un contenedor Docker detenido, asegurando que sus aplicaciones sigan disponibles y respondan adecuadamente.

Introducción a los contenedores Docker

Docker es una potente plataforma de código abierto que permite a los desarrolladores construir, desplegar y ejecutar aplicaciones en un entorno contenerizado. Los contenedores son paquetes de software livianos, autónomos y ejecutables que incluyen todo lo necesario para ejecutar una aplicación, como el código, el entorno de ejecución, las herramientas del sistema y las bibliotecas.

Los contenedores Docker proporcionan un entorno coherente y predecible para las aplicaciones, asegurando que se ejecutarán de la misma manera independientemente de la infraestructura subyacente. Esto facilita el desarrollo, la prueba y el despliegue de aplicaciones, así como su escalado hacia arriba o hacia abajo según sea necesario.

Para comenzar con Docker, primero debe instalar el motor de Docker en su sistema. Esto se puede hacer siguiendo la guía oficial de instalación para su sistema operativo, como Ubuntu 22.04. Una vez instalado, puede usar la herramienta de línea de comandos docker para administrar sus contenedores.

A continuación, se muestra un ejemplo de cómo crear y ejecutar un contenedor Docker simple utilizando el comando docker run:

$ docker run -it ubuntu:22.04 /bin/bash

Este comando descargará la imagen de Ubuntu 22.04 del registro Docker Hub, creará un nuevo contenedor basado en esa imagen y iniciará una shell de Bash dentro del contenedor. Luego puede usar la shell de Bash para interactuar con el contenedor y ejecutar su aplicación.

En general, los contenedores Docker proporcionan una forma potente y flexible de desarrollar, desplegar y administrar aplicaciones, lo que facilita garantizar entornos coherentes y confiables en diferentes sistemas y plataformas.

Detener y reiniciar contenedores Docker

Detener contenedores Docker

Para detener un contenedor Docker en ejecución, puede usar el comando docker stop seguido del ID o nombre del contenedor. Por ejemplo:

$ docker stop my-container

Esto detendrá el contenedor de manera adecuada, permitiéndole realizar cualquier tarea de limpieza necesaria antes de apagarse.

Si necesita forzar el detenimiento inmediato de un contenedor, puede usar el comando docker kill en su lugar:

$ docker kill my-container

Esto terminará inmediatamente el proceso principal del contenedor, sin permitirle realizar ninguna limpieza.

Reiniciar contenedores Docker

Para reiniciar un contenedor Docker detenido, puede usar el comando docker start seguido del ID o nombre del contenedor. Por ejemplo:

$ docker start my-container

Esto iniciará el contenedor utilizando la misma configuración y estado que tenía cuando se detuvo.

Si necesita reiniciar un contenedor en ejecución, puede usar el comando docker restart:

$ docker restart my-container

Esto detendrá el contenedor y luego lo iniciará nuevamente.

También puede usar el comando docker run para crear e iniciar un nuevo contenedor. Si el contenedor que está intentando iniciar ya existe, Docker iniciará el contenedor existente en lugar de crear uno nuevo.

Al entender cómo detener y reiniciar contenedores Docker, puede administrar eficazmente el ciclo de vida de sus aplicaciones y asegurarse de que se estén ejecutando como se espera.

Práctica: Reiniciar un contenedor Docker detenido

En esta sección, recorreremos los pasos para reiniciar un contenedor Docker detenido.

Paso 1: Crear un contenedor Docker

Primero, creemos un nuevo contenedor Docker basado en la imagen de Ubuntu 22.04:

$ docker run -d --name my-container ubuntu:22.04 /bin/bash -c "while true; do echo 'LabEx is awesome!'; sleep 5; done"

Este comando creará un nuevo contenedor llamado my-container y ejecutará un script simple que imprime "LabEx is awesome!" cada 5 segundos.

Paso 2: Detener el contenedor

Ahora, detengamos el contenedor en ejecución:

$ docker stop my-container

Paso 3: Reiniciar el contenedor

Para reiniciar el contenedor detenido, use el comando docker start:

$ docker start my-container

Esto iniciará el contenedor nuevamente, y debería ver el mensaje "LabEx is awesome!" imprimirse en la consola.

Verificar el estado del contenedor

Puede usar el comando docker ps para listar todos los contenedores en ejecución, y el comando docker ps -a para listar todos los contenedores, incluyendo los detenidos.

$ docker ps -a
CONTAINER ID   IMAGE         COMMAND                  CREATED         STATUS                     PORTS     NAMES
9e5a4d9a1a2f   ubuntu:22.04  "/bin/bash -c 'while t…"  2 minutes ago   Up 9 seconds                         my-container

Como puede ver, el my-container ahora está en el estado "Up", lo que indica que se ha reiniciado correctamente.

Siguiendo estos pasos, ha aprendido cómo reiniciar un contenedor Docker detenido. Este conocimiento será útil al administrar el ciclo de vida de sus aplicaciones basadas en Docker.

Resumen

Siguiendo los pasos descritos en este tutorial, aprenderá cómo iniciar fácilmente un contenedor Docker detenido y reanudar las operaciones de su aplicación. Este conocimiento le ayudará a administrar eficazmente su infraestructura basada en Docker y mantener la confiabilidad de sus despliegues.