Crear y detener algunos contenedores
En este paso, aprenderemos cómo crear y detener contenedores Docker. Los contenedores Docker son unidades ligeras, portátiles y autosuficientes que contienen todo lo necesario para ejecutar una aplicación.
Primero, descarguemos una imagen de Docker que usaremos para crear contenedores. Utilizaremos la imagen ubuntu
, que es un sistema operativo Ubuntu mínimo.
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 que tenemos la imagen, creemos y ejecutemos un contenedor a partir de ella. Usaremos el comando docker run
. La bandera -d
ejecuta el contenedor en modo desatendido (en segundo plano), y la bandera --name
asigna un nombre al contenedor.
docker run -d --name my-ubuntu-container ubuntu sleep infinity
Este comando crea un contenedor llamado my-ubuntu-container
a partir de la imagen ubuntu
y ejecuta el comando sleep infinity
dentro de él. El comando sleep infinity
mantiene el contenedor ejecutándose indefinidamente.
Deberías ver una cadena larga de caracteres como salida, que es el ID del contenedor.
<container_id>
Para verificar que el contenedor está en ejecución, podemos usar el comando docker ps
.
docker ps
Este comando lista todos los contenedores en ejecución. Deberías ver tu my-ubuntu-container
en la lista.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
<container_id> ubuntu "sleep infinity" X seconds ago Up X seconds my-ubuntu-container
Ahora, creemos otro contenedor, pero esta vez no le asignaremos un nombre específico. Docker generará automáticamente un nombre para él.
docker run -d ubuntu sleep infinity
Nuevamente, verás el ID del contenedor como salida.
<container_id>
Ejecuta docker ps
nuevamente para ver ambos contenedores en ejecución.
docker ps
Ahora deberías ver dos contenedores listados.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
<container_id> ubuntu "sleep infinity" X seconds ago Up X seconds my-ubuntu-container
<container_id> ubuntu "sleep infinity" X seconds ago Up X seconds <random_name>
Ahora, detengamos el contenedor llamado my-ubuntu-container
. Podemos usar el comando docker stop
seguido del nombre o ID del contenedor.
docker stop my-ubuntu-container
Deberías ver el nombre del contenedor como salida, indicando que se ha detenido.
my-ubuntu-container
Ejecuta docker ps
nuevamente. Verás que my-ubuntu-container
ya no aparece en la lista, ya que docker ps
solo muestra contenedores en ejecución.
docker ps
Para ver todos los contenedores, incluidos los detenidos, usa el comando docker ps -a
.
docker ps -a
Ahora deberías ver ambos contenedores, con my-ubuntu-container
mostrando un estado de Exited
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
<container_id> ubuntu "sleep infinity" X minutes ago Exited (0) X seconds ago my-ubuntu-container
<container_id> ubuntu "sleep infinity" X minutes ago Up X minutes <random_name>
Finalmente, detengamos el segundo contenedor usando su ID. Puedes obtener el ID de la salida de docker ps -a
. Reemplaza <container_id>
con el ID real del segundo contenedor.
docker stop <container_id>
Deberías ver el ID del contenedor como salida.
<container_id>
Ejecuta docker ps -a
una última vez para confirmar que ambos contenedores están detenidos.
docker ps -a
Ambos contenedores deberían mostrar ahora un estado de Exited
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
<container_id> ubuntu "sleep infinity" X minutes ago Exited (0) X seconds ago my-ubuntu-container
<container_id> ubuntu "sleep infinity" X minutes ago Exited (0) X seconds ago <random_name>