Buscar

2.5. Utilización de las imágenes UBI init

download PDF

Este procedimiento muestra cómo construir un contenedor usando un Dockerfile que instala y configura un servidor web (httpd) para que se inicie automáticamente por el servicio systemd (/sbin/init) cuando el contenedor se ejecuta en un sistema anfitrión.

Procedimiento

  1. Cree un Dockerfile con el siguiente contenido en un nuevo directorio:

    FROM registry.access.redhat.com/ubi8/ubi-init
    RUN yum -y install httpd; yum clean all; systemctl enable httpd;
    RUN echo "Successful Web Server Test" > /var/www/html/index.html
    RUN mkdir /etc/systemd/system/httpd.service.d/; echo -e '[Service]\nRestart=always' > /etc/systemd/system/httpd.service.d/httpd.conf
    EXPOSE 80
    CMD [ "/sbin/init" ]

    El Dockerfile instala el paquete httpd, habilita el servicio httpd para que se inicie en el momento del arranque, crea un archivo de prueba (index.html), expone el servidor web al host (puerto 80), e inicia el servicio systemd init (/sbin/init) cuando se inicia el contenedor.

  2. Construye el contenedor:

    # podman build --format=docker -t mysysd .
  3. Opcionalmente, si quieres ejecutar contenedores con systemd y SELinux está habilitado en tu sistema, debes establecer la variable booleana container_manage_cgroup:

    # setsebool -P container_manage_cgroup 1
  4. Ejecute el contenedor llamado mysysd_run:

    # podman run -d --name=mysysd_run -p 80:80 mysysd

    La imagen mysysd se ejecuta como el contenedor mysysd_run como un proceso demonio, con el puerto 80 del contenedor expuesto al puerto 80 en el sistema anfitrión.

  5. Comprueba que el contenedor está en marcha:

    # podman ps
    a282b0c2ad3d  localhost/mysysd:latest  /sbin/init  15 seconds ago  Up 14 seconds ago  0.0.0.0:80->80/tcp  mysysd_run
  6. Prueba el servidor web:

    # curl localhost/index.html
    Successful Web Server Test
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.