Podman v6.0.0 जारी
(blog.podman.io)- Podman v6.0.0 एक major release है जो container management के अनुभव को और बेहतर बनाती है, और इसमें core infrastructure modernization के साथ security और usability सुधार भी शामिल हैं
- Networking, slirp4netns·iptables-केंद्रित संरचना से Netavark·Pasta·nftables-आधारित दिशा में जा रही है, जिससे maintenance का बोझ कम होगा और आगे के feature विस्तार की तैयारी होगी
- Experimental feature Pesto rootless port forwarding custom network के rootless containers में सही source IP preservation को support करता है
- Podman Machine कई VM providers के साथ usability को बेहतर बनाती है, और
podman machine os updateके जरिए VM environment को up-to-date रखा जा सकता है - Quadlet, configuration file handling, Docker API compatibility, और command output को भी बेहतर बनाया गया है, जिससे multi-user management और Docker से migration आसान हो जाता है
Podman v6.0.0 में क्या बदला है
- नया release GitHub release page पर देखा जा सकता है, और जल्द ही package managers के जरिए भी उपलब्ध होगा
-
Networking modernization
- slirp4netns और iptables से Netavark, Pasta, और nftables की ओर बदलाव किया गया है
- यह सुव्यवस्थित networking stack maintenance को सरल बनाती है और भविष्य के features जोड़ने की नींव तैयार करती है
- Experimental support Pesto rootless port forwarding के जरिए custom network के rootless containers में सही source IP preservation संभव है
-
Podman Machine improvements
- कई VM providers को अधिक सहज तरीके से संभालने के लिए usability में सुधार किया गया है
podman machine os updateकमांड से VM environment को नवीनतम स्थिति में रखा जा सकता है- इससे जुड़े अतिरिक्त सुधारों पर आगे अलग लेख में अधिक विस्तार से चर्चा की जाएगी
-
Quadlet expansion
- REST API support जोड़ा गया है
- संबंधित files की tracking बेहतर की गई है, जिससे management आसान होता है
.volumeunit functionality का विस्तार किया गया है- deployment packaging को आसान बनाने के लिए अतिरिक्त search paths शामिल किए गए हैं
Configuration और Docker compatibility
- Configuration file handling बदली गई है, जिससे multi-user environments को manage करने वाले administrators इसे अधिक सहज और भरोसेमंद तरीके से इस्तेमाल कर सकते हैं
- विस्तृत जानकारी Podman 6 configuration file changes में देखी जा सकती है
- Docker compatibility भी बेहतर हुई है
- Docker API support को update किया गया है
- Command output को सुधारा गया है, जिससे Docker से Podman पर migration आसान हो जाता है
- पूरी बदलाव सूची Podman v6.0.0 release notes में दी गई है
2 टिप्पणियां
मैं सोच रहा हूँ कि जब
podman composeइस्तेमाल लायक हो जाएगा तब उस पर शिफ्ट करूँगा, लेकिन समझ नहीं आता कि आखिर यह कब इस्तेमाल लायक बनेगा।आजकल
docker runसे सीधे चलाना मेरे हिसाब से सिर्फ temporary containers या test runs के लिए रह गया है, ऐसे में compose support का अच्छा न होना एक बड़ी कमजोरी है।अगर लंबी-चौड़ी configuration और पक्का management चाहिए, तो बस k8s इस्तेमाल करना बेहतर है।
2026 के इस दौर में docker या podman की खूबी यही है कि k8s की कई resource definitions के बिना, एक आसान
ymlconfig file में किसी एक app द्वारा इस्तेमाल होने वाला पूरा stack define किया जा सकता है।अगर k8s compatibility को ही आगे रखना है, तो local पर चलने वाले हल्के k8s implementations जैसे k3s, minikube, microk8s इस्तेमाल करना कहीं बेहतर है।
मुझे नहीं लगता कि rootless यहाँ समस्या है।
Hacker News की राय
समझ नहीं आता कि Docker अब भी Podman से इतना ज़्यादा लोकप्रिय क्यों है। implementation के हिसाब से देखें तो Podman साफ़ तौर पर बेहतर है, और नया networking feature भी स्वागतयोग्य सुधार है
जो लोग Linux-first नहीं हैं, जैसे app containerization सीख रहा कोई शुरुआती developer, उसके लिए systemd unit files या kubelet settings संभालना, dedicated local service account बनाना, और linger enable करना याद रखना—Docker install करके docker compose file बनाने और “start” दबाने की तुलना में काफ़ी intimidating है
समझ आता है कि उन्होंने यह approach क्यों चुनी, लेकिन यह काफ़ी भद्दा और user-friendly नहीं लगता
Zig से ghostty build करते समय Podman में कोई अस्पष्ट “unknown file” error आया था, और बाद में पता चला कि fuse-overlayfs कुछ attributes support नहीं करता था जिन्हें वह check करने की कोशिश कर रहा था
हर बार migrate करने की कोशिश में ऐसी random छोटी-छोटी समस्याएं अटकाती रहती हैं। simple use cases के लिए इस्तेमाल कर रहा हूं
Podman recommend करना चाहता हूं, लेकिन docker compose compatibility अच्छी नहीं है और volumes में inotify न हो तो developer experience बहुत problematic हो जाता है
macOS पर Podman काफ़ी कम polished लगता है, और OrbStack कहीं बेहतर option है
Linux पर ही Podman इस्तेमाल करता हूं और वहां यह बहुत fast है। फिर भी लगता है कि ज्यादातर features systemd के साथ जुड़कर Kubernetes को replace करने की दिशा में बने हैं, जबकि असल docker compose support unstable है और TUI/UX भी original से पीछे है
दूसरी समस्या Docker के साथ छोटी-छोटी differences थीं, इतनी कि packaged Docker compose वैसा ही काम नहीं करता था। Docker पर switch करते ही सब चल जाता है और दिन का काम जारी रख सकते हैं; उसे debug करने में समय नहीं लगाना चाहता था
Docker Desktop के फिर से random तरीके से बहुत ज़्यादा memory खाने के बाद Podman पर switch किया, और यह सचमुच install करने के बाद बस docker-compose.yml की तरफ point करने जितना आसान था
कोई change बिल्कुल नहीं चाहिए था, और अब daemon को लगातार चलाए रखने की भी जरूरत नहीं है। शानदार software है
फिर Rancher Desktop try किया, और नाम बार-बार भूल जाने के अलावा यह बस ठीक से काम करता था। जिसे चाहिए, उसके लिए एक और simple option है
मुझे Quadlet सचमुच बहुत पसंद है। कई सालों तक Hetzner, Ansible, SystemD, RockyLinux के साथ rootless containers बिना समस्या host किए, और उस setup को template repository के रूप में निकाल लिया
[1] https://github.com/Mati365/hetzner-podman-bunjs-deploy
Docker से Podman पर शिफ्ट करने का अनुभव कैसा रहा, यह जानना चाहता हूं
homelab/automation सेटअप में compose files बहुत हैं, इसलिए सबसे बड़ी चिंता वही है
rootless execution भी बहुत intuitive है, और Podman बहुत fast है। निजी तौर पर मुझे docker compose की ज्यादा कमी महसूस नहीं होती, लेकिन समझता हूं कि docker compose की गैर-मौजूदगी दूसरों के लिए deal-breaker हो सकती है। Podman का compose plugin कभी इस्तेमाल नहीं किया
इकलौती समस्या validation है। quadlet files validate करने के लिए कोई सुविधाजनक built-in command नहीं है, और systemd भी generation failure की warning नहीं देता। पहले
--dry-runचलाना पड़ता है, या पूरी command का कोई ठीक-ठाक alias बनाना पड़ता है, नहीं तो journal में errors देखने पड़ते हैंतेज conversion के लिए podman-compose सीधे इस्तेमाल कर सकते हैं, या docker compose को Podman socket की ओर point करने के लिए configure कर सकते हैं[0]
compose files को native quadlet में बदलने वाला podlet[1] भी है। simple या medium complexity वाली compose files को यह ज्यादातर अपने-आप ठीक से handle कर देता है और वे तुरंत चल जाती हैं। इसे library के रूप में बनाकर दूसरे tools को compose files को transparent तरीके से quadlet में convert कराने की भी चर्चा है, इसलिए आगे ऐसे और tools आने की उम्मीद है
अगर systemd unit files से थोड़ी भी familiarity है, तो खुद Quadlet files लिखना भी मुश्किल नहीं है। ज्यादातर
docker runयाpodman runarguments का quadlet में सीधा mapping होता है, इसलिए YAML के बजाय INI format की आदत हो जाए तो compose file देखकर equivalent quadlet बनाना आसान है[0] https://www.redhat.com/en/blog/podman-docker-compose
[1] https://github.com/containers/podlet
असल में जो समस्या आई, बस यही थी; root-privileged Docker से rootless Docker पर शिफ्ट करने पर भी यही समस्या आती। बिल्कुल पछतावा नहीं है और कभी वापस नहीं जाऊंगा
Podman mature और logical लगा। अगर किसी का container su permissions पर निर्भर करता है, तो मैं Podman को नहीं, उस व्यक्ति को दोष दूंगा
Podman में जो बात नापसंद है, वह यह कि यह Docker-compatible होने का दिखावा करता है, लेकिन बाद में काट खाने वाले छोटे-छोटे फर्क मौजूद हैं। Docker-based project के users Podman से चलाने की कोशिश करते हैं और आखिर में project के पास आकर शिकायत करते हैं
इसलिए Podman/Docker incompatibility ठीक करना ज्यादातर उस assumption को handle करना है। जैसे Podman command में कुछ flags जोड़कर container और host के बीच user namespace mapping का तरीका बदलना
सबसे हाल में Netavark का published ports पर broadcast traffic receive करने वाला behavior Docker से मेल नहीं खा रहा था
खासकर जब root-privileged Docker से rootless Podman पर जा रहे हों
जानना चाहता हूं कि आजकल Podman कैसा है। macOS पर मैं OrbStack इस्तेमाल कर रहा हूं और यह काफी तेज लगता है। अगर macOS 27 WSL जैसी microVM-based, ज्यादा native और बेहतर performance वाली Linux containers capability जोड़ दे, तो landscape कैसे बदलेगा पता नहीं
podman-compose provider मैंने इस्तेमाल नहीं किया है, और इसका नाम Podman Compose से confusingly थोड़ा अलग है। Podman Compose, docker-compose या podman-compose के ऊपर की higher-level abstraction है। जरूरत हो तो Podman से भी Docker engine के जरिए containers चला सकते हैं
Quadlet और rootless containers, Docker से Podman पर शिफ्ट करने की दो बड़ी वजहें हैं
Podman अच्छा है, लेकिन वह grey text color क्यों है समझ नहीं आता। दिखने में खराब है और contrast ratio 4.96:1 होने से पढ़ना मुश्किल है, WCAG AAA level तक भी नहीं पहुंचता
home server को करीब 2 साल से podman + quadlets पर चला रहा हूं, और release notes में कुछ काम की चीजें दिखीं
podman quadlet listv5.6.0 में जोड़ा गया था, और quadlet व उसके containers को list करता हैpodman system migrate --migrate-dbv5.8.0 में जोड़ा गया flag है। पहले bolt DB deprecation warning देखी थी, लेकिन sqlite पर migrate करने का tool नहीं था; अब है। या फिर podman 6.0.0 पर upgrade करेंगे तो यह automatically handle हो जाएगाDocker नहीं बल्कि CRI runtime के लिए image build करने में Podman इस्तेमाल करने का अनुभव कैसा रहा, यह जानना चाहता हूँ
अगर Podman से image build करें, तो क्या वह cri-o, Docker और अन्य runtimes पर चल पाएगी?
docker buildके लिए sudo चाहिए होता है, जिससे agent-based workflow में झंझट बढ़ जाता है; इसलिए सोच रहा हूँ कि rootless Podman से image build करूँ या नहीं