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 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
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.
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).
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.
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.
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.
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
Anuncio 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.
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.
4. Además, puede verificar los registros de su contenedor usando el ‘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 el ‘–cola‘ 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 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.
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‘.
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.
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‘.
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)
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.