Retour au blog
Docker vs Podman : Migration et bonnes pratiques
15 novembre 2025 • Dedimarco
docker podman linux devops
Docker vs Podman : Migration et bonnes pratiques
La migration de Docker vers Podman est une décision de plus en plus fréquente chez les administrateurs système. Voici un retour d’expérience après plusieurs migrations en production.
Pourquoi Podman ?
Podman offre plusieurs avantages significatifs :
- Pas de daemon : architecture rootless par défaut
- Quadlets systemd : gestion native des conteneurs comme services
- Compatibilité Docker : les commandes sont quasi identiques
- Sécurité : pas besoin d’un utilisateur root pour lancer des conteneurs
Migration pas à pas
1. Conversion des Dockerfiles
Les Dockerfiles restent compatibles. Renommez simplement Dockerfile en Containerfile (optionnel) :
FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
2. Quadlets systemd
L’une des fonctionnalités les plus puissantes de Podman 5+ est le support natif des quadlets :
# /etc/containers/systemd/myapp.container
[Container]
Image=docker.io/library/node:22-alpine
PublishPort=3000:3000
Volume=/data/myapp:/app
[Service]
Restart=always
[Install]
WantedBy=default.target
3. Réseau bridge
Contrairement à Docker qui crée un bridge par défaut, Podman nécessite une configuration explicite :
podman network create mynetwork
podman run --network mynetwork ...
Pièges courants
| Problème | Docker | Podman |
|---|---|---|
| DNS interne | Automatique | Nécessite podman network create |
host.docker.internal | Fonctionne | Ne fonctionne pas — utiliser la gateway IP |
| Restart policy | --restart always | Via systemd Restart=always |
| Build context | docker build | podman build (identique) |
Conclusion
La migration vers Podman demande quelques ajustements, notamment sur le réseau et la gestion des services. Mais les quadlets systemd offrent une intégration bien plus propre que les solutions tierces comme docker-compose.