GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y usar Podman (alternativa de Docker) en 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 funciones 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

  • 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.
  • Un usuario con privilegios de root o usuario raíz - para instalar nuevos paquetes y cambiar la configuración en todo el sistema.

Instalando Podman en Ubuntu 20.04

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

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

. /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/renueve los repositorios de Ubuntu y actualice todos los paquetes a la última versión.

sudo apt update
sudo apt -y upgrade

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

sudo apt install podman

Escriba 'y ' y presione 'Entrar ' para continuar con la instalación.

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á.

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

Crear nuevo usuario y ejecutar 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' basado en 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. A continuación, inicie sesión como usuario 'johndoe' y ejecute el contenedor según la imagen de Docker 'hello-world'.

Inicie sesión como usuario 'johndoe '.

su - johndoe

Ejecute un nuevo contenedor basado en la imagen de Docker 'hello-world ' 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.

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 'hello-world ' Imagen acoplable.

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 podman, ejecute el siguiente comando podman.

podman search nginx

Y verá una lista de imágenes de contenedores del Docker predeterminado. registro de imágenes 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 de contenedor 'docker.io ' y comenzará el proceso de descarga de la imagen del contenedor de Nginx.

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 - hello-world y nginx imágenes.

3. Luego, para iniciar y ejecutar un nuevo contenedor basado en la imagen 'nginx:alpine ', ejecute el comando podman con la opción 'ejecutar ' como se muestra a continuación.

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

Algunas opciones que debes conocer:

  • -yo 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 - eliminar automáticamente el contenedor cuando 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á el resultado como se muestra a continuación.

El estado del contenedor es 'Activo ' y expone el puerto puerto TCP '8080 ' en la máquina host.

Abra su navegador web y visite la dirección IP de su servidor con el puerto '8080 ' como se muestra a continuación.

http://192.168.1.15:8080/

Y verá la antigüedad 'index.html' predeterminada de su contenedor nginx.

4. Además, puede verificar los registros de su contenedor utilizando los 'registros ' opción como se muestra a continuación.

podman logs web

O puede especificar las últimas líneas numéricas del registro del contenedor con '--tail ' opción como se muestra a continuación.

podman logs --tail 10 web

5. Ahora puede detener el contenedor en ejecución usando la opción de podman 'detener ' como se muestra a continuación.

podman stop web

Su contenedor 'web' se detendrá. Compruébalo usando el siguiente comando.

podman ps
podman ps -a

Y verá un resultado similar al que se muestra a continuación.

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 usar el volumen personalizado para cambiar el 'index.html' predeterminado en el nuevo contenedor.

Crear un nuevo directorio '~/data ' y el 'index.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>

Presiona la tecla 'Ctrl+x botón ', escriba 'y ', luego presione 'Entrar ' 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. El '~/datos ' 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á el nuevo contenedor 'web ' en el estado 'Up '.

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 '~/data ' está montado en la 'web ' contenedor.

7. A continuación, puede iniciar sesión en el contenedor en ejecución con la opción 'exec ' y ejecutando el shell 'sh'.

Asegúrese de que su contenedor 'web ' se está ejecutando con 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 'salir ' para cerrar sesión en el contenedor 'web '.

8. Ahora limpie su entorno usando el siguiente comando.

Detener el contenedor 'web ' usando el comando podman a continuación.

podman stop web

Elimine todos los contenedores con el estado 'Salido' usando el siguiente comando podman.

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

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.


Ubuntu
  1. Cómo instalar y usar Docker en Ubuntu 20.04

  2. Cómo instalar y usar Wine en Ubuntu 20.04

  3. Cómo instalar y usar Docker en Ubuntu 18.04

  4. Cómo instalar y usar Docker Compose en Ubuntu 18.04

  5. Cómo instalar y usar Docker en Ubuntu 20.04

Cómo instalar y usar R en Ubuntu

Cómo instalar y usar Docker Compose en Ubuntu 20.04

Cómo instalar y usar Docker Compose en Ubuntu 22.04

Cómo instalar y usar Docker en Ubuntu 22.04

Cómo instalar y usar Docker en Ubuntu 20.04

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