Buscar

Capítulo 1. Empezando por los contenedores

download PDF

Los contenedores Linux han surgido como una tecnología clave de empaquetado y entrega de aplicaciones de código abierto, que combina el aislamiento ligero de las aplicaciones con la flexibilidad de los métodos de despliegue basados en imágenes.

Red Hat Enterprise Linux implementa los contenedores de Linux utilizando tecnologías básicas como:

  • Grupos de control (cgroups) para la gestión de recursos
  • Espacios de nombres para el aislamiento de procesos
  • SELinux para la seguridad
  • Multitenencia segura

para reducir el potencial de los exploits de seguridad. Todo esto está pensado para proporcionarle un entorno para producir y ejecutar contenedores de calidad empresarial.

Red Hat OpenShift proporciona potentes herramientas de línea de comandos y de interfaz web para construir, gestionar y ejecutar contenedores en unidades denominadas pods. Sin embargo, hay ocasiones en las que puede querer construir y gestionar contenedores individuales e imágenes de contenedores fuera de OpenShift. En esta guía se describen las herramientas proporcionadas para realizar esas tareas que se ejecutan directamente en los sistemas RHEL.

A diferencia de otras implementaciones de herramientas de contenedores, las herramientas descritas aquí no se centran en el motor de contenedores monolítico de Docker y el comando docker. En su lugar, proporcionamos un conjunto de herramientas de línea de comandos que pueden funcionar sin un motor de contenedores. Estas incluyen:

  • podman - Para gestionar directamente los pods y las imágenes de contenedores (run, stop, start, ps, attach, exec, etc.)
  • buildah - Para construir, empujar y firmar imágenes de contenedores
  • skopeo - Para copiar, inspeccionar, borrar y firmar imágenes
  • runc - Para proporcionar funciones de ejecución y construcción de contenedores a podman y buildah

Dado que estas herramientas son compatibles con la Open Container Initiative (OCI), pueden utilizarse para gestionar los mismos contenedores Linux que producen y gestionan Docker y otros motores de contenedores compatibles con la OCI. Sin embargo, son especialmente adecuadas para ejecutarse directamente en Red Hat Enterprise Linux, en casos de uso de un solo nodo.

Para una plataforma de contenedores de múltiples nodos, consulte OpenShift. En lugar de confiar en las herramientas de un solo nodo y sin demonio descritas en este documento, OpenShift requiere un motor de contenedores basado en demonio. Por favor, consulte Uso del motor de contenedores CRI-O para más detalles.

1.1. Ejecución de contenedores sin Docker

Red Hat no sólo eliminó el motor de contenedores Docker de OpenShift. También eliminó el motor de contenedores Docker, junto con el comando docker, de Red Hat Enterprise Linux 8 por completo. Para RHEL 8, Docker no está incluido y no es soportado por Red Hat (aunque todavía está disponible en otras fuentes).

La eliminación de Docker refleja un cambio en la forma de pensar de Red Hat sobre el manejo de los contenedores:

  • En la empresa, la atención no se centra en la ejecución de contenedores individuales desde la línea de comandos. El lugar principal para ejecutar contenedores es una plataforma basada en Kubernetes, como OpenShift.
  • Al reposicionar OpenShift como la plataforma para ejecutar contenedores, los motores de contenedores como Docker se convierten en un componente más abstraído por OpenShift.
  • Debido a que el motor de contenedores en OpenShift no está destinado a ser utilizado directamente, se puede implementar con un conjunto de características limitadas que se centran en hacer todo lo que OpenShift necesita, sin tener que implementar muchas características independientes.

Aunque Docker ha desaparecido de RHEL 8, y el motor de contenedores de OpenShift está desconectado de los usos de un solo nodo, la gente todavía quiere usar comandos para trabajar con contenedores e imágenes manualmente. Así que Red Hat se puso a crear un conjunto de herramientas para implementar la mayor parte de lo que hace el comando docker.

Herramientas como podman, skopeo, y buildah se desarrollaron para asumir esas características del comando docker. Cada herramienta en este escenario puede ser más ligera y centrarse en un subconjunto de características. Y sin necesidad de que se ejecute un proceso daemon para implementar un motor de contenedores, estas herramientas pueden funcionar sin la sobrecarga de tener que trabajar con un proceso daemon.

Si todavía quiere usar Docker en RHEL 8, puede obtener Docker de diferentes proyectos upstream, pero no está soportado en RHEL 8. Debido a que muchas de las características de la línea de comandos de docker han sido implementadas exactamente en podman, puede configurar un alias para que al escribir docker se ejecute podman.

Al instalar el paquete podman-docker se configura un alias de este tipo. Así que cada vez que se ejecuta una línea de comandos docker, en realidad se ejecuta podman por usted.

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.