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 *