¿Desea iniciar un servicio de prueba, una herramienta web o una imagen de Linux sin agregar su cuenta al grupo docker? Podman puede ejecutar contenedores desde una sesión de usuario, con almacenamiento y procesos asociados a su UID. Esto 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 root
En Debian o Ubuntu, instale el paquete desde los repositorios de su 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, ejecute podman info --debug con su cuenta habitual, sin sudo. La salida debe indicar un contexto sin root. Podman utilizará entonces su 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 que hay una preparación incompleta. No eluda el error cambiando directamente a root. Verifique primero su entrada con el siguiente comando, luego aplique el método documentado por su distribución si falta.
grep "^$USER:" /etc/subuid /etc/subgid
Ejecutar un primer contenedor sin privilegios
Comience con una imagen muy pequeña y un comando que se detenga por sí solo. De esta manera, verifica 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, incluidos los que están detenidos, use:
podman images
podman ps -a
Para un servicio que debe permanecer disponible, asígnele un nombre explícito. 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 escribe solo -p 8080:80, verifique el resultado con podman port web-test y con ss -ltnp. En un servidor, abra un puerto público solo después de elegir 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. Verifique 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 su historial. Mantenga también el nombre de la imagen y su etiqueta en su documentación. Una etiqueta latest puede apuntar a una versión diferente en la próxima descarga. Para un uso duradero, elija una versión específica y planifique su actualización.
Las limitaciones del modo sin root y las trampas a evitar
- Un contenedor sin root limita el impacto en el host, pero una imagen no confiable, un secreto inyectado como variable o un volumen en escritura siguen siendo riesgos.
- Evite
--privileged,--network hosty los montajes de directorios sensibles. Estas opciones reducen drásticamente la aislación. - Monte los datos en solo lectura cuando la aplicación no tenga que modificarlos, por ejemplo
-v "$HOME/site:/usr/share/nginx/html:ro". - Los puertos inferiores a 1024, ciertos dispositivos y algunas restricciones de red requieren una configuración adicional. No añada privilegios por reflejo.
- Podman acepta gran parte de la sintaxis de Docker, pero los servicios, las redes y el almacenamiento no siempre se comportan de la misma manera. Pruebe un proyecto en una carpeta aislada antes de una migración.
El grupo docker a menudo da acceso muy amplio al demonio de Docker. Podman sin root evita este hábito para los contenedores lanzados desde su cuenta. Para comparar la instalación de un motor Docker con esta elección de derechos, también puede revisar nuestra guía sobre Docker en Debian.
La documentación oficial de Podman detalla el funcionamiento sin root, y el manual de podman run enumera las opciones de red, volúmenes y identificadores. Comience con una imagen simple, un puerto local y un volumen de solo lectura. Rápidamente sabrá si Podman es adecuado para su uso antes de mover un servicio útil.