Cómo ejecutar contenedores con Podman en CentOS 8/RHEL 8

Podman es una plataforma de contenedores sin demonios gratuita y de código abierto que se creó para desarrollar, administrar e implementar contenedores y pods en un entorno Linux. Los pods son un grupo de contenedores que generalmente se implementan en el mismo sistema host.

Podman está reemplazando gradualmente a Docker, que es otra plataforma de contenedorización que los desarrolladores usan para implementar sus aplicaciones junto con dependencias y bibliotecas. La principal diferencia entre los dos es que, mientras que docker es un demonio que se puede iniciar, habilitar, detener y reiniciar, podman no lo es. Podman se considera más seguro debido a su capacidad de registro de auditoría en contenedores. La auditoría juega un papel muy importante en el seguimiento de los procesos que se ejecutan en un contenedor.

Ahora lo llevaremos de la A a la Z sobre cómo instalar podman y cómo ejecutar y administrar contenedores con podman.

Instalación de podman en CentOS 8

Para instalar podman en CentOS 8, simplemente inicie sesión como usuario raíz y ejecute el comando:

[[email protected] ~]# dnf install podman

instalar-podman-centos8

Instalación de podman en RHEL 8

Ejecute el siguiente comando para instalar Podman en el sistema RHEL 8

[[email protected] ~]# dnf module install container-tools -y

Después del proceso de instalación exitoso, verifique la versión de podman usando el comando:

[[email protected] ~]# podman --version
podman version 1.0.5
[[email protected] ~]#

Ejecute el siguiente comando para ver la información del sistema podman

[[email protected] ~]# podman info

podman-info-comando-salida

Esta es una confirmación de que podman se ha instalado correctamente.

Buscar y descargar imágenes de contenedores con Podman

Ahora cambiemos de marcha y veamos las diversas operaciones que podemos realizar con podman. Para buscar una imagen, utilice la sintaxis

#podman buscar nombre_imagen

Por ejemplo, para buscar la imagen del Sistema Fedora, ejecute el comando:

[[email protected] ~]# podman search fedora

búsqueda-contenedor-imagen-podman

En el resultado, puede ver el registro desde el que está buscando, en este caso, quay.io y una breve descripción de las imágenes.

Para descargar la imagen, simplemente ejecute

#podman tirar nombre_imagen

Descargaremos 2 imágenes adicionales, Fedora y Ubuntu

[[email protected] ~]# podman pull fedora
[[email protected] ~]# podman pull ubuntu

comando podman-pull-image

Para ver las imágenes descargadas, ejecute el comando:

[[email protected] ~]# podman images
REPOSITORY                 TAG      IMAGE ID       CREATED        SIZE
docker.io/library/ubuntu   latest   549b9b86cb8d   35 hours ago   66.6 MB
docker.io/library/fedora   latest   f0858ad3febd   7 weeks ago    201 MB
[[email protected] ~]#

Ejecute contenedores con podman

Para ejecutar un contenedor utilizando una imagen de Fedora que imprime un mensaje en la pantalla, ejecute:

[[email protected] ~]# podman run --rm fedora /bin/echo "Hello Geeks! Welcome to Podman"
Hello Geeks! Welcome to Podman
[[email protected] ~]#

Nota: El comando anterior también eliminará el contenedor después de mostrar el mensaje.

Inicie un contenedor usando la imagen de ubuntu, supongamos que el nombre del contenedor es «web-ubuntu»

[[email protected] ~]# podman run -dit --name web-ubuntu -p 80:80 ubuntu
0ffe7bd1c08d89f4443f3fe81a18163a3d0c52ba53ce834c30643fb4678e8be9
[[email protected] ~]#

El comando anterior de podman iniciará un contenedor y redirigirá 80 solicitudes de puerto desde el sistema podman al contenedor de espacio web en el puerto 80.

Inicie un contenedor más usando la imagen de Fedora con el nombre db-space, adjunte un volumen adicional a este contenedor (/opt/dbspace)

[[email protected] ~]# podman run -dit --name db-space -v /opt/dbspace:/mnt -p 3306:3306 fedora
9fe2ae21ca6373b827db3e965300920b1bc1a9cf19206031f1c8819889e12520
[[email protected] ~]#

El comando anterior de podman iniciará un contenedor y adjuntará una carpeta como un volumen «/opt/dbspace» y también redirigirá la solicitud de puerto 3306 del sistema podman al contenedor de espacio de base de datos en el puerto 3306.

Para ver solo los contenedores en ejecución, ejecute el siguiente comando podman:

[[email protected] ~]# podman ps
CONTAINER ID  IMAGE                            COMMAND    CREATED         STATUS             PORTS                   NAMES
9fe2ae21ca63  docker.io/library/fedora:latest  /bin/bash  14 minutes ago  Up 14 minutes ago  0.0.0.0:3306->3306/tcp  db-space
0ffe7bd1c08d  docker.io/library/ubuntu:latest  /bin/bash  15 minutes ago  Up 15 minutes ago  0.0.0.0:80->80/tcp      web-ubuntu
[[email protected] ~]#

Para enumerar todos los contenedores, ya sea que estén detenidos o en ejecución, ejecute el comando:

[[email protected] ~]# podman ps -a
CONTAINER ID  IMAGE                            COMMAND    CREATED             STATUS                         PORTS                   NAMES
22ca547d980f  docker.io/library/ubuntu:latest  /bin/bash  About a minute ago  Exited (0) About a minute ago                          wiki-container
9fe2ae21ca63  docker.io/library/fedora:latest  /bin/bash  15 minutes ago      Up 15 minutes ago              0.0.0.0:3306->3306/tcp  db-space
0ffe7bd1c08d  docker.io/library/ubuntu:latest  /bin/bash  16 minutes ago      Up 16 minutes ago              0.0.0.0:80->80/tcp      web-ubuntu
[[email protected] ~]#

Puede inspeccionar un contenedor usando su ID ejecutando:

[[email protected] ~]# podman inspect 0ffe7bd1c08d

podman-inspeccionar-comando-salida

Para obtener el indicador de shell del contenedor existente, use a continuación «adjuntar podman” comando, en este caso, accediendo al contenedor db-space a través de su id, use el comando

# podman adjuntar

[[email protected] ~]# podman attach 9fe2ae21ca63
[[email protected] /]#

Para salir del indicador de shell del contenedor sin salir o detenerlo, use las teclas «ctrl+p+q

Visualización de registros de contenedores

Para ver los registros generados por un contenedor específico, use la sintaxis:

# podman registra

Por ejemplo,

[[email protected] ~]# podman logs 9fe2ae21ca63

Para ver los últimos registros, ejecute

[[email protected] ~]# podman logs --latest 9fe2ae21ca63

Si desea ver los registros en tiempo real, use la opción -f como se muestra

# podman logs -f

[[email protected] ~]# podman logs -f 9fe2ae21ca63

Quitar contenedores con podman

Una vez que esté satisfecho trabajando con sus contenedores, puede optar por eliminarlos. Pero primero, enumere todos los contenedores

[[email protected] ~]# podman ps -a

Para eliminar un solo contenedor, use la opción rm seguida de la identificación del contenedor como se muestra en el siguiente comando.

Supongamos que queremos eliminar «wiki-container»

[[email protected] ~]# podman rm 22ca547d980f
22ca547d980f3051d72eb9f475777e31244c78fc038c41e0250c7d5fe44cdbc5
[[email protected] ~]#

Nota: En caso de que el contenedor se esté ejecutando y desee eliminarlo sin detenerlo, use la opción -f junto con rm, el ejemplo se muestra a continuación,

[email protected] ~]# podman rm 22ca547d980f

Gestión de contenedores de contenedores en podman

En esta sección, veremos cómo puede administrar pods usando podman. Los pods son como lo que encontraría en una configuración de Kubernetes.

Para crear un pod, digamos un pod llamado servidor web, ejecute el comando:

[[email protected] ~]# podman pod create --name webserver
920653c492450f295f92036910649542d40b80d10cc95b836acb30eb91a579ef
[[email protected] ~]#

Para enumerar los pods, ejecute debajo del comando podman,

[[email protected] ~]# podman pod list
POD ID         NAME        STATUS    CREATED              # OF CONTAINERS   INFRA ID
920653c49245   webserver   Running   About a minute ago   1                 87adc0272afc
[[email protected] ~]#

Al crear un nuevo pod, notará que lleva un contenedor llamado infra. Su propósito principal es acomodar espacios de nombres que están asociados con el pod y esto permite que el pod se comunique con otros contenedores.

[[email protected] ~]# podman ps -a --pod

podman-pods-list

Puede agregar un contenedor a un pod ejecutando:

[[email protected] ~]# podman run -dt --pod webserver centos:latest top

Ejecute debajo del comando podman para verificar si el contenedor se agrega o no al pod

[[email protected] ~]# podman ps -a --pod

Salida de los dos comandos anteriores:

agregar-contenedor-a-pod-podman

El resultado confirma que lanzamos con éxito un contenedor al pod. Eso es todo de este artículo.

Conclusión

Podman está avanzando a pasos agigantados en el ecosistema de contenedores y parece prometedor a medida que toma gradualmente el lugar de Docker. Si bien Docker ciertamente estará disponible por un tiempo, no podemos enfatizar lo suficiente que el futuro de Podman parece brillante. En este tema, aprendió a instalar y usar Podman para ejecutar contenedores.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *