Podman su Arch Linux
Negli ultimi anni, Podman ha fatto molto parlare di sé come alternativa a Docker, in particolare nell’ambiente GNU/Linux dove la leggerezza e l’aderenza agli standard POSIX non sono solo dettagli tecnici, ma filosofie di vita. In questo post ti racconto perché vale la pena adottare Podman, soprattutto se sviluppi in locale (nel mio caso Arch Linux o derivate). E sì, è più semplice di quanto sembri.
Perché scegliere Podman al posto di Docker?
Partiamo subito con le differenze che contano:
- niente daemon: Podman non ha bisogno di un demone sempre attivo. Ogni comando viene eseguito come processo dell’utente corrente, non come root. Questo lo rende più sicuro e più vicino al comportamento UNIX tradizionale;
- compatibilità CLI: la CLI di Podman è praticamente un mirror di quella di Docker. Puoi continuare a usare *podman build, podman run, podman ps ecc., senza dover cambiare abitudini;
- integrazione con systemd: Podman può generare unit file systemd per gestire i container come veri e propri servizi. Perfetto per ambienti server, ma anche per chi vuole testare setup complessi in locale;
- rootless by default: su GNU/Linux puoi dire addio a sudo docker o a permission hell sui volumi montati. Podman lavora direttamente con i tuoi permessi utente.
Sviluppo locale migliorato
Per chi, come me, sviluppa spesso microservizi in locale o testa setup containerizzati, Podman offre alcuni vantaggi concreti:
- più sicuro, meno grattacapi: non dover gestire permessi speciali o daemon avviati all’avvio del sistema riduce le possibilità di errori e vulnerabilità;
- Podman Desktop e API Docker-compatible: oggi esistono frontend come Podman Desktop e strumenti come podman.sock che forniscono un endpoint Docker-compatible. In pratica, anche strumenti che richiedono Docker (come docker-compose, VSCode Dev Containers, ecc.) possono funzionare con Podman;
- pulizia e isolamento: grazie alla modalità rootless, non hai container o immagini che sporcano il sistema a livello globale. E se lavori su più progetti, puoi usare pods per raggruppare container correlati con networking condiviso.
Setup su Arch Linux e derivate
Installare Podman su Arch è semplice, come spesso accade su questa distro:
sudo pacman -Syu podman
Poi puoi testare tutto con un classico:
podman run hello-world
Per usare docker-compose con Podman:
sudo pacman -S docker-compose
export DOCKER_HOST=unix:///run/user/$UID/podman/podman.sock
Ti consiglio di creare un alias per rendere il passaggio più trasparente:
alias docker=podman
Oppure, se preferisci usare podman e docker in parallelo, lascia tutto com’è e attiva l’integrazione solo nei progetti che lo richiedono.
Bonus: integrazione con systemd
Vuoi che un container si comporti come un servizio? Basta un comando:
podman generate systemd --name mio-container --files --restart-policy=always
Ti troverai con un unit file pronto all’uso in ~/.config/systemd/user/. Puoi abilitarlo con:
systemctl --user enable --now container-mio-container.service
E puoi controllarlo con journalctl –user -u container-mio-container.service.
Conclusioni
Se usi Arch, Manjaro o altre distribuzioni GNU/Linux e vuoi un ambiente di sviluppo containerizzato più sicuro, più vicino ai principi UNIX, e più pulito, Podman è una scelta azzeccata. E la curva di apprendimento? Praticamente nulla, se già vieni da Docker.
Podman non è solo un’alternativa: è uno strumento moderno, potente e coerente con l’idea di un sistema GNU/Linux fatto bene. E se ti piace avere tutto sotto controllo, senza servizi che girano in background inutilmente… ti sentirai a casa.
Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.
Risorse: