Ejecuta tu primer contenedor

DockerBeginner
Practicar Ahora

Introducción

¡Bienvenido al reto "Ejecuta tu primer contenedor"! Ya has aprendido cómo ejecutar el contenedor hello-world. Ahora, vamos a dar un paso más allá y ejecutar un contenedor diferente. En este reto, utilizarás tus habilidades con Docker para iniciar la imagen docker/getting-started, la cual lanza un pequeño servidor web dentro de un contenedor.

Ejecutar un nuevo contenedor

Tareas

Tu tarea es sencilla:

  1. Ejecuta un contenedor de Docker basado en la imagen docker/getting-started.

Requisitos

Para completar este reto, debes:

  1. Utilizar el comando docker run para iniciar el contenedor.
  2. Usar la imagen docker/getting-started, la cual ya ha sido descargada previamente para ti.
  3. Ejecutar el comando en el directorio ~/project.

Ejemplo

Cuando ejecutas el contenedor correctamente, Docker lo inicia en primer plano, por lo que tu terminal permanece conectada a los registros (logs) del contenedor. Dichos registros provienen del servidor web Nginx que se encuentra dentro de docker/getting-started.

No te preocupes si ves un mensaje de advertencia indicando que el directorio /docker-entrypoint.d/ no está vacío.

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/10/29 09:26:17 [notice] 1#1: using the "epoll" event method
2024/10/29 09:26:17 [notice] 1#1: nginx/1.23.3
2024/10/29 09:26:17 [notice] 1#1: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
2024/10/29 09:26:17 [notice] 1#1: OS: Linux 5.15.0-56-generic
2024/10/29 09:26:17 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024/10/29 09:26:17 [notice] 1#1: start worker processes
2024/10/29 09:26:17 [notice] 1#1: start worker process 31
2024/10/29 09:26:17 [notice] 1#1: start worker process 32

Puedes abrir una nueva ventana de terminal para verificar que el contenedor se está ejecutando mediante el comando docker ps.

docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED          STATUS          PORTS     NAMES
f3f3b3b3b3b3   docker/getting-started   "/docker-entrypoint.…"   1 minute ago   Up 1 minute   80/tcp   festive_mendel

Nota: Mantén la primera terminal abierta después de ejecutar docker run docker/getting-started. Si presionas Ctrl+C o cierras esa terminal, el contenedor se detendrá. Abre una segunda terminal para ejecutar docker ps, o utiliza docker run -d docker/getting-started si deseas que el contenedor se ejecute en segundo plano.

Resumen

En este reto, has ampliado tus habilidades con Docker ejecutando un nuevo contenedor. Has utilizado el comando docker run para iniciar la imagen docker/getting-started, la cual lanza un servidor web dentro de un contenedor y muestra sus registros de inicio en la terminal. También has observado que un contenedor iniciado en primer plano mantiene la terminal ocupada hasta que lo detienes. Este ejercicio refuerza los conceptos básicos sobre cómo iniciar contenedores y verificar si están en ejecución mediante comandos de Docker como docker ps.

✨ Revisar Solución y Practicar