Cómo instalar y usar Podman (alternativa de Docker) en Ubuntu 20.04

Agregar repositorio podman ubuntu 20.04

Podman es una herramienta de c√≥digo abierto para administrar contenedores, im√°genes, vol√ļmenes y pods (grupo de contenedores). Utiliza las API de la biblioteca libpod para gestionar los ciclos de vida de los contenedores y es compatible con varios formatos de imagen de contenedor, incluidos OCI (Iniciativa de contenedor abierto) e im√°genes de Docker.

Podman es un motor de contenedores de conformidad con OCI (Open Container Initiative). Es compatible con la interfaz CLI de Docker y le permite ejecutar contenedores sin ra√≠z (ejecutar contenedores sin privilegios de ra√≠z). Podman se lanz√≥ como parte de Red Hat Enterprise Linux, dise√Īado para ser la pr√≥xima generaci√≥n de herramientas de contenedor de Linux con una experimentaci√≥n y un desarrollo de caracter√≠sticas m√°s r√°pidos.

Para este tutorial, aprender√° c√≥mo instalar Podman en el sistema Ubuntu 20.04. Instalar√° Podman y aprender√° los usos b√°sicos de podman para administrar contenedores, im√°genes y vol√ļmenes de Docker.

requisitos previos

  • Un Servidor Ubuntu 20.04 – aseg√ļrese de que todos los paquetes tengan la √ļltima versi√≥n, para deshacerse de las dependencias obsoletas y generar un error durante la instalaci√≥n.
  • A usuario con privilegios de rooto ra√≠z del usuario – para instalar nuevos paquetes y cambiar la configuraci√≥n en todo el sistema.

Instalación de Podman en Ubuntu 20.04

Al principio, agregar√° un repositorio y una clave de terceros para instalar podman en el sistema Ubuntu 20.04.

1. Ejecute el siguiente comando para exportar variables de entorno en el ‘/etc/os-release‘ expediente.

. /etc/os-release

2. Agregue el repositorio podman con versión estable y agregue la clave GPG a su sistema usando el siguiente comando.

echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list

curl -L ¬ęhttps://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key¬Ľ | sudo apt-key add –


3. Actualice/actualice los repositorios de Ubuntu y actualice todos los paquetes a la √ļltima versi√≥n.

sudo apt update
sudo apt -y upgrade

Agregar repositorio podman ubuntu 20.04

4. Después de eso, instale podman usando el comando apt a continuación.

sudo apt install podman

Escribe ‘y‘ y presione ‘Ingresar‘ para continuar con la instalaci√≥n.

Instalación de Podman en Ubuntu 20.04

5. Una vez completada la instalación, verifique la versión de podman con el siguiente comando.

podman version

A continuación se muestra el resultado similar que obtendrá.

Comprobar la versión del podman

Como puede verse, ha instalado podman v3.3.1 compilado con Go 1.16 para la arquitectura Linux amd64 (64 bits).

Creación de un nuevo usuario y ejecución del contenedor hello-world

Podman le permite ejecutar contenedores bajo el usuario sin privilegios de root. Para esta etapa, agregar√° un nuevo usuario y ejecutar√° el contenedor ‘hello-world’ seg√ļn la imagen de Docker.

1. Ejecute el siguiente comando para agregar un nuevo usuario ‘johndoe’.

useradd -m -s /bin/bash johndoe
passwd johndoe

Escriba una nueva contrase√Īa para el usuario ‘johndoe‘.

2. Luego, inicie sesi√≥n como usuario ‘johndoe’ y ejecute el contenedor basado en la imagen de Docker ‘hello-world’.

Iniciar sesi√≥n como usuario ‘johndoe‘.Anuncio publicitario

su - johndoe

Ejecute un nuevo contenedor basado en la imagen de Docker ‘Hola Mundo‘ usando el comando podman.

podman run hello-world

Se le preguntar√° qu√© registro de contenedor desea usar, elija el registro de contenedor ‘docker.io’ y ver√° un resultado similar al siguiente.

Podman ejecuta el contenedor hello-world

3. Para verificar su contenedor e im√°genes en la m√°quina local, ejecute el siguiente comando.

podman ps -a
podman images

Ver√° que se crea un nuevo contenedor y el estado actual es ‘Salido‘. El contenedor se basa en el ‘Hola Mundo‘ Imagen acoplable.

Im√°genes y contenedor de cheques Podman

Uso b√°sico de Podman

Con esta gu√≠a, aprender√° a usar podman para administrar contenedores, im√°genes y vol√ļmenes. Aprender√° el comando b√°sico de podman para administrar contenedores, y los comandos que usar√° para esta gu√≠a son 100 % iguales que el comando CLI de Docker.

1. Para encontrar imágenes de contenedores compatibles con el podman, ejecute el comando podman a continuación.

podman search nginx

Y ver√° una lista de im√°genes de contenedores desde el valor predeterminado Estibador registro de imagen y Muelle registro de im√°genes.

Elija las im√°genes de contenedor ‘nginx’ del registro de Docker y desc√°rguelas a su m√°quina local usando el comando podman a continuaci√≥n.

podman pull nginx:alpine

Elija el registro del contenedor ‘docker.io‘ y comenzar√° el proceso de descarga de la imagen del contenedor de Nginx.

Im√°genes de contenedor de descarga de Podman

2. Para verificar las imágenes de contenedores disponibles en su máquina local, ejecute el comando podman a continuación.

podman images

Y ver√°s dos im√°genes: Hola Mundo y nginx im√°genes

Verifique las im√°genes en la m√°quina local con podmanAnuncio publicitario

3. A continuaci√≥n, para iniciar y ejecutar un nuevo contenedor basado en la imagen ‘nginx: alpino‘, ejecuta el comando podman con la opci√≥n ‘correr‘ como a continuaci√≥n.

podman run -it --rm -d -p 8080:80 --name web nginx:alpine

Algunas opciones que debes conocer:

  • -i o –interactivo – mantenga el contenedor STDIN abierto incluso si no est√° conectado.
  • -t o –-tty – asigna una pseudo-terminal que conecta su terminal con STDIN y STDOUT del contenedor.
  • –rm – quitar autom√°ticamente el contenedor cuando el contenedor se sale o se detiene.
  • -d – ejecutar el contenedor en segundo plano, desconectar el contenedor despu√©s de que se est√© ejecutando.
  • -p 8080:80 – mapear el puerto entre el contenedor y el sistema host. El puerto ’80’ en el contenedor est√° asignado al puerto del sistema host ‘8080’.
  • –nombre web – especifique el nuevo nombre del contenedor como ‘web’.
  • nginx: alpino – la imagen que usamos es ‘nginx:alpine’.

Ver√° la cadena aleatoria y el n√ļmero de su contenedor en ejecuci√≥n. Verifique su contenedor en ejecuci√≥n usando el comando podman a continuaci√≥n.

podman ps

Verá la salida como se muestra a continuación.

Iniciar y ejecutar contenedor con podman

El estado del contenedor es ‘Arriba‘ y expone el puerto puerto TCP ‘8080‘ en la m√°quina anfitriona.

Abra su navegador web y visite la direcci√≥n IP de su servidor con el puerto ‘8080‘ como a continuaci√≥n.

http://192.168.1.15:8080/

Y ver√° la edad predeterminada ‘index.html’ de su contenedor nginx.

Se est√° ejecutando la web de contenedor basada en la imagen de Nginx

4. Adem√°s, puede verificar los registros de su contenedor usando el ‘registros‘ opci√≥n como se muestra a continuaci√≥n.

podman logs web

Registros de verificación de Podman

O puede especificar las √ļltimas l√≠neas num√©ricas del registro del contenedor con el ‘–cola‘ opci√≥n como se muestra a continuaci√≥n.

podman logs --tail 10 web

Podman comprueba los √ļltimos registros

5. Ahora puede detener el contenedor en ejecuci√≥n usando la opci√≥n podman ‘det√©ngase‘ como a continuaci√≥n.

podman stop web

Su contenedor ‘web’ se detendr√°. Verifique usando el comando a continuaci√≥n.

podman ps
podman ps -a

Y ver√° una salida similar a la siguiente.

parada contenedor podman

El contenedor ‘web’ se detiene y se elimina autom√°ticamente porque est√° usando la opci√≥n ‘–rm’ en su comando podman.

6. A continuaci√≥n, aprender√° a utilizar el volumen personalizado para cambiar el ‘index.html’ predeterminado en el nuevo contenedor.

Crear un nuevo directorio ‘~/datos‘ y el ‘√≠ndice.html‘archivo usando el siguiente comando.

mkdir -p ~/data/
nano ~/data/index.html

Copie y pegue el script HTML a continuación.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Welcome to Container Nginx</title>
</head>
<body>
  <h2>Hello from Nginx container - Managed with Podman</h2>
</body>
</html>

Presione el ‘Control+x‘ bot√≥n, escriba ‘y‘, entonces presione ‘Ingresar‘ para guardar la configuraci√≥n y salir.

Ahora ejecute el siguiente comando podman para ejecutar el nuevo contenedor con volumen personalizado.

podman run -it --rm -d -p 8080:80 --name web -v ~/data:/usr/share/nginx/html nginx:alpine

Una opción que debes conocer:

  • -v – especifique el volumen de su contenedor. Los ‘~/datos‘ el directorio se montar√° en el nuevo directorio contenedor ‘/usr/share/nginx/html‘.

Ahora ejecute el siguiente comando para verificar el contenedor en ejecución.

podman ps

Ver√°s el nuevo contenedor ‘web‘en el estado’Arriba‘.

Uso de volumen personalizado con podman

A continuaci√≥n, abra su navegador web y escriba la direcci√≥n IP de su servidor con el puerto ‘8080‘.

http://192.168.1.15:8080/

Y ver√° la p√°gina index.html personalizada que ha creado en la parte superior, lo que significa que ‘~/datosEl directorio ‘ est√° montado en el ‘web‘ envase.

Contenedor web con index.html personalizado proporcionado por volumen

7. A continuaci√≥n, puede iniciar sesi√≥n en el contenedor en ejecuci√≥n con la opci√≥n ‘ejecutivo‘ y ejecutando el shell ‘sh’.

Aseg√ļrese de que su contenedor ‘web‘ se est√° ejecutando usando el siguiente comando.

podman ps

Ahora ejecute el siguiente comando podman para iniciar sesi√≥n en el contenedor ‘web’.

podman exec -it web /bin/sh

Compruebe el nombre de host del contenedor ‘web’.

hostname

Verifique la direcci√≥n IP y la tabla de enrutamiento del contenedor ‘web’.

ip a
route -n

Ahora escriba ‘salida‘ para salir del contenedor ‘web‘.

Podman iniciar sesión en el contenedor

8. Ahora limpie su entorno usando el siguiente comando.

Para el contenedor’web‘ usando el comando podman a continuaci√≥n.

podman stop web

Elimine todos los contenedores con el estado ‘Salido’ usando el comando podman a continuaci√≥n.

podman rm $(podman ps --filter "status=exited" -q)

Contenedor de salida de limpieza con podman

Conclusión

¡Felicidades! Ha instalado con éxito Podman en el sistema Ubuntu 20.04. Además, aprendió el uso básico de podman para descargar imágenes de contenedores, ejecutar el contenedor, verificar el estado del contenedor, los registros y el uso básico de podman para administrar el volumen. Para el siguiente paso, puede intentar crear sus imágenes personalizadas con las especificaciones de OCI para la inserción/carga de su aplicación en el registro del contenedor.

Deja una respuesta

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