Comprender el propósito de docker start
En este paso, entenderemos el propósito del comando docker start
. El comando docker start
se utiliza para iniciar uno o más contenedores detenidos. Cuando detienes un contenedor usando docker stop
, su estado se guarda y puedes reanudarlo más tarde usando docker start
. Esto es diferente de docker run
, que crea un nuevo contenedor a partir de una imagen y luego lo inicia.
Primero, creemos un contenedor simple que podamos detener y luego iniciar. Usaremos la imagen ubuntu
y ejecutaremos un comando que mantenga el contenedor en ejecución por un breve período.
docker run -d --name my-ubuntu ubuntu sleep 60
Este comando ejecuta un contenedor Ubuntu en modo desacoplado (-d
), lo nombra my-ubuntu
y ejecuta el comando sleep 60
dentro del contenedor. El comando sleep 60
mantendrá el contenedor en ejecución durante 60 segundos.
Ahora, verifiquemos el estado del contenedor usando docker ps
.
docker ps
Deberías ver el contenedor my-ubuntu
listado con un estado de Up
.
A continuación, detendremos el contenedor usando el comando docker stop
.
docker stop my-ubuntu
Este comando envía una señal de detención al contenedor my-ubuntu
.
Ahora, verifiquemos nuevamente el estado del contenedor usando docker ps
.
docker ps
Deberías ver que el contenedor my-ubuntu
ya no aparece en la salida de docker ps
(que muestra solo contenedores en ejecución). Para ver todos los contenedores, incluidos los detenidos, puedes usar docker ps -a
.
docker ps -a
Ahora deberías ver my-ubuntu
listado con un estado de Exited
. Esto confirma que el contenedor ha sido detenido.
Finalmente, usaremos el comando docker start
para iniciar el contenedor detenido.
docker start my-ubuntu
Este comando inicia el contenedor my-ubuntu
.
Verifiquemos el estado del contenedor una última vez usando docker ps
.
docker ps
Deberías ver el contenedor my-ubuntu
listado nuevamente con un estado de Up
. Esto demuestra que docker start
reanudó exitosamente el contenedor previamente detenido.
En resumen, docker start
se usa para reanudar un contenedor detenido, preservando su estado, mientras que docker run
crea e inicia un nuevo contenedor.