Crear y detener un contenedor
En este paso, aprenderás cómo crear y detener un contenedor de Docker. Un contenedor es una instancia ejecutable de una imagen. Puedes crear, iniciar, detener, mover o eliminar un contenedor utilizando la API o CLI de Docker.
Primero, descarguemos la imagen hello-world
desde Docker Hub. Esta es una imagen muy pequeña útil para pruebas.
docker pull hello-world
Deberías ver una salida que indica que la imagen se está descargando y extrayendo.
Using default tag: latest
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest
Ahora, creemos y ejecutemos un contenedor a partir de la imagen hello-world
. Cuando ejecutes este comando, Docker creará un nuevo contenedor y ejecutará el comando especificado en la imagen. En el caso de hello-world
, el comando simplemente imprime un mensaje y luego finaliza.
docker run hello-world
Deberías ver una salida similar a esta:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
Esta salida confirma que el contenedor se ejecutó correctamente e imprimió su mensaje. Como el comando dentro del contenedor finalizó, el contenedor se detuvo.
Para ver los contenedores en tu sistema, incluyendo aquellos que están detenidos, puedes usar el comando docker ps -a
.
docker ps -a
Verás una lista de contenedores. El contenedor hello-world
debería aparecer en la lista, y su estado debería ser Exited
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
... hello-world "/hello" About a minute ago Exited (0) 58 seconds ago ...
Ahora, creemos otro contenedor, pero esta vez usaremos la imagen ubuntu
y ejecutaremos un comando que mantendrá el contenedor en ejecución por un breve período. Usaremos el comando sleep
para mantener el contenedor activo durante 10 segundos.
Primero, descarga la imagen ubuntu
:
docker pull ubuntu
Deberías ver una salida que indica que la imagen se está descargando.
Using default tag: latest
latest: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
Ahora, ejecuta un contenedor a partir de la imagen ubuntu
y ejecuta el comando sleep 10
. Lo ejecutaremos en modo desacoplado (-d
) para que el contenedor se ejecute en segundo plano y no bloquee nuestra terminal.
docker run -d ubuntu sleep 10
Este comando mostrará el ID del contenedor.
[container_id]
Usa docker ps
para ver los contenedores en ejecución.
docker ps
Deberías ver el contenedor ubuntu
listado con un estado Up
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[container_id] ubuntu "sleep 10" About a minute ago Up 5 seconds ...
Después de aproximadamente 10 segundos, el comando sleep 10
finalizará y el contenedor se detendrá. Usa docker ps -a
nuevamente para ver todos los contenedores, incluyendo el detenido.
docker ps -a
El contenedor ubuntu
ahora debería tener un estado Exited
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[container_id] ubuntu "sleep 10" About a minute ago Exited (0) 5 seconds ago ...
...
Finalmente, detengamos manualmente el contenedor ubuntu
usando el comando docker stop
. Puedes detener un contenedor en ejecución por su ID o nombre. Usaremos el ID del contenedor que se mostró cuando ejecutamos el contenedor. Reemplaza [container_id]
con el ID real de tu contenedor ubuntu.
docker stop [container_id]
Este comando mostrará el ID del contenedor que se detuvo.
[container_id]
Usa docker ps
nuevamente para confirmar que el contenedor ya no está en ejecución.
docker ps
El contenedor ubuntu
no debería aparecer en la lista de contenedores en ejecución.