Introducción
Primeros pasos con Podman te introduce en un motor de contenedores moderno y ligero, diseñado como una alternativa segura y sin root a Docker. A diferencia de Docker, Podman elimina la necesidad de un demonio central, ofreciendo mayor seguridad y flexibilidad para los desarrolladores y administradores de sistemas que gestionan contenedores. Su arquitectura sin root resulta especialmente atractiva para entornos en los que minimizar la escalada de privilegios es una prioridad.
En esta guía, cubriremos los aspectos esenciales de la instalación y el uso de Podman en Ubuntu Server 22.04. También abordaremos un problema común relacionado con la descarga de imágenes de contenedor usando nombres cortos (por ejemplo,nginx) y proporcionaremos una solución clara para ayudarte a empezar a usar Podman sin problemas.

Artículos anteriores:
01. Introducción a Ubuntu Server – SysOSX: AI & Cloud
02. Cómo configurar tu primer servidor Ubuntu: guía para principiantes – SysOSX: AI & Cloud
03.Dominar la línea de comandos de Linux para Ubuntu Server – SysOSX: AI & Cloud
04. Gestión de usuarios y permisos en Ubuntu Server: guía completa – SysOSX: AI & Cloud
05. Fundamentos de redes para Ubuntu Server: guía completa – SysOSX: AI & Cloud
06. Instalación y gestión de software en Ubuntu Server: guía completa – SysOSX: AI & Cloud
07.Parcheo y actualización de Ubuntu Server: guía completa – SysOSX: AI & Cloud
08. Proteger tu servidor Ubuntu: pasos prácticos para reforzar y proteger – SysOSX: AI & Cloud
09. Auditoría y registro de Ubuntu Server
11. Registro centralizado para Ubuntu Server: una guía imprescindible – SysOSX: AI & Cloud
12. Auditoría y cumplimiento para Ubuntu Server: prácticas recomendadas – SysOSX: AI & Cloud
14. Alojar varios sitios web en un solo servidor Ubuntu: consejos útiles – SysOSX: AI & Cloud
15. Gestión de almacenamiento y discos en Ubuntu Server: guía sencilla – SysOSX: AI & Cloud
18. Cómo configurar y usar LVM en Ubuntu Server: guía completa – SysOSX: AI & Cloud
Índice
¿Qué es Podman y por qué usarlo?
Podman es un motor de contenedores diseñado para crear, ejecutar y gestionar contenedores, con especial atención a la seguridad y la flexibilidad. Estas son las razones por las que Podman está ganando popularidad:
- Arquitectura sin demonio: Podman no depende de un servicio en segundo plano (a diferencia del modelo basado en demonio de Docker), lo que reduce la superficie de ataque y mejora la seguridad.
- Contenedores sin root: Ejecuta contenedores como usuario sin root para mejorar aún más la seguridad.
- Comandos compatibles con Docker: La CLI de Podman está diseñada para ser compatible con Docker, lo que te permite usar comandos como
podman pullopodman runsin problemas. - Integración con systemd: Gestiona contenedores como servicios del sistema con facilidad.
Paso 1: Instalar Podman en Ubuntu Server 22.04
1.1 Actualiza tu sistema
Antes de instalar Podman, asegúrate de que tu sistema esté actualizado para evitar problemas de compatibilidad:
sudo apt update && sudo apt upgrade -y
1.2 Instalar Podman
Podman está incluido en los repositorios predeterminados de Ubuntu, así que puedes instalarlo directamente con el gestor de paquetes apt:
sudo apt install podman -y
1.3 Verificar la instalación
Después de la instalación, verifica la versión instalada de Podman para asegurarte de que está lista para usar:
podman --version
Ejemplo de salida:
podman version 3.4.4
Paso 2: Ejecuta tu primer contenedor de Podman
2.1 Descargar una imagen de contenedor
Podman usa imágenes de contenedor para ejecutar aplicaciones. Empieza descargando la ligera imagen de Alpine Linux:
podman pull alpine
2.2 Ejecutar un contenedor
Ejecuta un contenedor con la imagen de Alpine:
podman run --rm -it alpine sh
Este comando inicia una shell interactiva dentro del contenedor de Alpine. Puedes probar comandos básicos, como:
echo "Hello from Podman!"
2.3 Salir del contenedor
Para salir del contenedor, escribe:
exit
Paso 3: Comprender la resolución de nombres cortos de Podman
El problema con los nombres cortos
Al descargar imágenes de contenedor con nombres cortos (por ejemplo,nginx), Podman necesita saber en qué registro buscar la imagen. Sin la configuración adecuada, es posible que encuentres el siguiente error:
Error: short-name "nginx" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"
¿Por qué ocurre este error?
Podman requiere un archivo de configuración (registries.conf) para definir los registros de contenedores en los que debe buscar imágenes. Si este archivo falta o está mal configurado, Podman no puede resolver nombres cortos como nginx.
Paso 4: Corregir el error de resolución de nombres cortos
4.1 El archivo registries.conf : localízalo o créalo
El archivo registries.conf suele estar ubicado en /etc/containers/registries.conf. Comprueba si el archivo existe:
ls /etc/containers/registries.conf
Si no existe, créalo:
sudo nano /etc/containers/registries.conf
4.2 Agregar la configuración de registro predeterminada
Agrega la siguiente configuración al archivo:
[registries.search]
registries = ['docker.io', 'quay.io']
docker.io: Se refiere a Docker Hub, el registro de contenedores más usado.quay.io: Otro registro de contenedores popular.
Guarda el archivo y sal (Ctrl+O y luego Ctrl+X, si usas nano).
4.3 Reintentar el comando de descarga
Con la configuración del registro lista, intenta descargar de nuevo la imagen de nginx de nuevo:
podman pull nginx
Podman ahora debería resolver el nombre corto nginx a docker.io/library/nginx y descargar la imagen correctamente.
Paso 5: Ejecutar contenedores como usuario sin root
Una de las características más destacadas de Podman es su capacidad para ejecutar contenedores sin requerir privilegios de root. Te explicamos cómo configurarlo:
5.1 Cambiar a un usuario sin root
Inicia sesión como usuario normal (por ejemplo,uadmin):
su - uadmin
Verifica que Podman funcione para el usuario sin root:
podman info
5.2 Corregir problemas de permisos para usuarios sin root
Si encuentras un error de permission denied al ejecutar Podman como usuario sin root, es probable que se deba a la propiedad incorrecta del directorio personal del usuario.
Comprueba la propiedad del directorio personal:
ls -ld /home/uadmin
Si el directorio pertenece a root, corrígelo:
sudo chown -R uadmin:uadmin /home/uadmin
Crea manualmente el directorio .local:
mkdir -p /home/uadmin/.local/share/containers
sudo chown -R uadmin:uadmin /home/uadmin/.local
Prueba Podman de nuevo:
podman info
Podman ahora debería funcionar correctamente como usuario sin root.
Paso 6: Comandos útiles de Podman para principiantes
Estos son algunos comandos esenciales de Podman para ayudarte a empezar:
- Enumerar contenedores en ejecución:
podman ps
- Enumerar todos los contenedores (incluidos los detenidos):
podman ps -a
- Detener un contenedor en ejecución:
podman stop <container-id>
- Eliminar un contenedor:
podman rm <container-id>
- Eliminar una imagen:
podman rmi <image-name>
Documentación de referencia:
Primeros pasos con Podman | Podman
Conclusión
Podman es un motor de contenedores seguro, ligero y flexible, perfecto para Ubuntu Server 22.04. En esta guía, cubrimos:
- Instalar Podman.
- Ejecutar tu primer contenedor.
- Corregir el error de resolución de nombres cortos.
- Ejecutar contenedores como usuario sin root.
Si sigues estos pasos, ahora tienes una base sólida para empezar a explorar Podman y gestionar contenedores de forma eficaz. Con sus capacidades sin root y su CLI compatible con Docker, Podman es una herramienta excelente para los flujos de trabajo de contenerización modernos.
No te lo pierdas:
En el próximo artículo hablaremos sobre cómo implementar Ubuntu Server en plataformas en la nube , como GCP, AWS y Azure.