Ejecutar un servicio dentro de un contenedor

DockerIntermediate
Practicar Ahora

Introducción

En este desafío, pondrás en práctica la gestión de servicios contenedorizados en un sistema Red Hat Enterprise Linux. Tu tarea consiste en construir una imagen de contenedor personalizada para un servidor web, ejecutar un contenedor basado en dicha imagen y asegurar que el servicio sea accesible desde el sistema anfitrión. Este ejercicio abarca habilidades fundamentales para el despliegue y la administración de aplicaciones en contenedores, una competencia esencial para cualquier Administrador de Sistemas Certificado por Red Hat (RHCSA).

Ejecutar un servicio dentro de un contenedor

En este desafío, construirás una imagen de contenedor personalizada que incluya el servidor HTTP Apache (httpd). Crearás un archivo HTML sencillo para que sea servido por el servidor web y ejecutarás un contenedor a partir de tu imagen personalizada. Finalmente, verificarás que el servicio web funcione correctamente y sea accesible desde el host.

Tareas

  • Construir una imagen de contenedor personalizada que incluya el servidor HTTP Apache (httpd).
  • Crear un archivo HTML sencillo para ser servido por el servidor web.
  • Ejecutar un contenedor basado en tu imagen personalizada y exponer el servicio web.
  • Verificar que el servicio web se esté ejecutando correctamente y sea accesible desde el host.

Requisitos

  • Todos los archivos deben crearse en el directorio ~/project.
  • Crear un Dockerfile que utilice la imagen base ubi9.
  • El Dockerfile debe instalar el paquete httpd.
  • Crear un archivo index.html que contenga el texto Hello, World! dentro de una etiqueta <h1>.
  • Construir una imagen de contenedor y etiquetarla como my-web-server.
  • Ejecutar un contenedor en segundo plano desde la imagen my-web-server.
  • El contenedor debe llamarse my-web-server-run.
  • El servidor web dentro del contenedor debe escuchar en el puerto 80, y este puerto debe estar mapeado al puerto 8080 en el host.

Ejemplo

Tras iniciar correctamente el contenedor, al ejecutar el comando curl localhost:8080 en tu terminal, deberías obtener una salida similar a esta:

<html>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Resumen

En este desafío, has aprendido a contenedorizar un servicio en un sistema Red Hat Enterprise Linux. Has creado con éxito un Dockerfile para definir un entorno personalizado, has construido una imagen de contenedor utilizando podman y has ejecutado un contenedor para alojar un servidor web. También has practicado la verificación del estado de un contenedor en ejecución y la comprobación de su servicio de red. Estas son habilidades esenciales para el despliegue de aplicaciones modernas y la administración de sistemas.

✨ Revisar Solución y Practicar