¿Quieres lanzar un servicio de prueba, una herramienta web o una imagen de Linux sin agregar tu cuenta al grupo docker? Podman puede ejecutar contenedores desde una sesión de usuario, con almacenamiento y procesos vinculados a tu UID. Es útil para comenzar de manera limpia, pero no exime de controlar la imagen, los volúmenes ni los puertos publicados.

Instalar Podman y verificar el modo sin privilegios
En Debian o Ubuntu, instala el paquete desde los repositorios de tu distribución. Fedora también lo incluye en sus repositorios estándar.
sudo apt update
sudo apt install podman
podman --version
podman info --debug
Luego ejecuta podman info --debug con tu cuenta habitual, sin sudo. La salida debe indicar un contexto sin privilegios. Podman utiliza tu espacio de usuario y los rangos definidos en /etc/subuid y /etc/subgid para mapear los identificadores del contenedor.
Un mensaje sobre newuidmap, subuid o subgid indica una preparación incompleta. No eludas el error cambiando directamente a root. Verifica primero tu entrada con el siguiente comando, luego aplica el método documentado por tu distribución si falta.
grep "^$USER:" /etc/subuid /etc/subgid
Lanzar un primer contenedor sin privilegios
Comienza con una imagen pequeña y un comando que se detenga solo. Así verificarás la descarga de la imagen, el almacenamiento local y la ejecución sin dejar un servicio abierto en la red.
podman run --rm docker.io/library/alpine:latest echo "Podman funciona"
La opción --rm elimina el contenedor a su salida. La imagen permanece en caché. Para ver las imágenes y los contenedores, incluyendo los detenidos, usa:
podman images
podman ps -a
Para un servicio que debe permanecer disponible, asígnale un nombre claro. Este ejemplo inicia nginx en segundo plano y publica el puerto 8080 solo en la máquina local.
podman run -d --name web-test
-p 127.0.0.1:8080:80
docker.io/library/nginx:alpine
podman ps
curl -I http://127.0.0.1:8080
El prefijo 127.0.0.1: evita exponer esta prueba en todas las interfaces de red. Si escribes solo -p 8080:80, verifica el resultado con podman port web-test y con ss -ltnp. En un servidor, abre un puerto público solo después de haber elegido el firewall y la dirección de escucha.
Leer el estado, los registros y detener correctamente el servicio
Un contenedor iniciado no prueba que la aplicación responda. Verifica su estado, los últimos registros y su mapeo de red antes de modificar la imagen o la configuración.
podman inspect web-test --format '{{.State.Status}}'
podman logs --tail 50 web-test
podman port web-test
podman stop web-test
podman rm web-test
podman inspect muestra los parámetros realmente aplicados. Es más confiable que volver a leer un comando copiado en tu historial. También guarda el nombre de la imagen y su etiqueta en tu documentación. Una etiqueta latest puede apuntar a una versión diferente en la próxima descarga. Para un uso duradero, elige una versión específica y planea su actualización.
Las limitaciones del sin privilegios y las trampas a evitar
- Un contenedor sin privilegios limita el impacto en el host, pero una imagen no confiable, un secreto inyectado como variable o un volumen en escritura siguen siendo riesgos.
- Evita
--privileged,--network hosty el montaje de directorios sensibles. Estas opciones reducen drásticamente la aislamiento. - Montar los datos como solo lectura cuando la aplicación no necesita modificarlos, por ejemplo,
-v "$HOME/site:/usr/share/nginx/html:ro". - Los puertos por debajo de 1024, algunos dispositivos y algunas restricciones de red requieren configuración adicional. No añadas privilegios por defecto.
- Podman acepta una gran parte de la sintaxis de Docker, pero los servicios, las redes y el almacenamiento no siempre se comportan de la misma manera. Prueba un proyecto en un directorio aislado antes de una migración.
El grupo docker a menudo otorga un acceso muy amplio al demonio de Docker. Podman sin privilegios evita esta costumbre para los contenedores iniciados desde tu cuenta. Para comparar la instalación de un motor Docker con esta elección de derechos, también puedes volver a leer nuestra guía sobre Docker en Debian.
La documentación oficial de Podman detalla el funcionamiento sin privilegios, y el manual de podman run enumera las opciones de red, volúmenes e identificadores. Comienza con una imagen simple, un puerto local y un volumen en modo solo lectura. Sabrás rápidamente si Podman es adecuado para tu uso antes de mover un servicio útil.