परिचय
Podman के साथ शुरुआत आपका परिचय एक आधुनिक, हल्के कंटेनर इंजन से कराती है जिसे Docker के सुरक्षित और रूटलेस विकल्प के रूप में डिज़ाइन किया गया है। Docker के विपरीत, Podman को केंद्रीय डेमन की आवश्यकता नहीं होती है, जिससे कंटेनर प्रबंधित करने वाले डेवलपर्स और सिस्टम एडमिनिस्ट्रेटर के लिए बेहतर सुरक्षा और लचीलापन मिलता है। इसका रूटलेस आर्किटेक्चर उन वातावरणों के लिए विशेष रूप से आकर्षक है जहाँ विशेषाधिकार वृद्धि को कम करना प्राथमिकता है।
इस मार्गदर्शिका में, हम Ubuntu Server 22.04 पर Podman इंस्टॉल और उपयोग करने की मूल बातें कवर करेंगे। हम संक्षिप्त नामों (जैसे,nginx) का उपयोग करके कंटेनर छवियाँ खींचने से संबंधित एक सामान्य समस्या पर भी चर्चा करेंगे और Podman के साथ सुचारू रूप से शुरुआत करने में मदद के लिए एक स्पष्ट समाधान प्रदान करेंगे।

पिछले लेख:
01. Ubuntu Server का परिचय – SysOSX: AI & Cloud
02. अपना पहला Ubuntu Server कैसे सेट करें: शुरुआती मार्गदर्शिका – SysOSX: AI & Cloud
03.Ubuntu Server के लिए Linux कमांड लाइन में महारत – SysOSX: AI & Cloud
04. Ubuntu Server पर उपयोगकर्ता और अनुमतियाँ प्रबंधित करना: व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
05. Ubuntu Server के लिए नेटवर्किंग की मूल बातें: व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
06. Ubuntu Server पर सॉफ़्टवेयर इंस्टॉल और प्रबंधित करना: संपूर्ण मार्गदर्शिका – SysOSX: AI & Cloud
07.Ubuntu Server को पैच करना और अपडेट करना: व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
08. अपने Ubuntu Server को सुरक्षित करें: सख्त करने और सुरक्षा के व्यावहारिक चरण – SysOSX: AI & Cloud
09. Ubuntu Server ऑडिटिंग और लॉगिंग
10. Ubuntu Server के लिए सिस्टम मॉनिटरिंग टूल: व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
11. Ubuntu Server के लिए केंद्रीकृत लॉगिंग: अवश्य पढ़ें मार्गदर्शिका – SysOSX: AI & Cloud
12. Ubuntu Server के लिए ऑडिट और अनुपालन: सर्वोत्तम प्रथाएँ – SysOSX: AI & Cloud
14. एक ही Ubuntu Server पर कई वेबसाइट होस्ट करें: उपयोगी सुझाव – SysOSX: AI & Cloud
15. Ubuntu Server पर स्टोरेज और डिस्क प्रबंधित करना: सरल मार्गदर्शिका – SysOSX: AI & Cloud
16. Ubuntu Server पर फ़ाइल साझाकरण सेवाएँ सेट करना: संपूर्ण मार्गदर्शिका – SysOSX: AI & Cloud
17. Ubuntu पर सुरक्षित डेटाबेस सर्वर सेट करना: MySQL बनाम MariaDB – SysOSX: AI & Cloud
18. Ubuntu Server पर LVM को कॉन्फ़िगर और उपयोग कैसे करें: व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
21. LXD के साथ शुरुआत: आसानी से कंटेनर इंस्टॉल करें + चीट शीट – SysOSX: AI & Cloud
विषय-सूची
Podman क्या है, और इसका उपयोग क्यों करें?
Podman एक कंटेनर इंजन है जिसे सुरक्षा और लचीलेपन पर ध्यान केंद्रित करते हुए कंटेनर बनाने, चलाने और प्रबंधित करने के लिए डिज़ाइन किया गया है। यहाँ बताया गया है कि Podman लोकप्रिय क्यों हो रहा है:
- डेमन रहित आर्किटेक्चर: Podman पृष्ठभूमि सेवा पर निर्भर नहीं करता है (Docker के डेमन-आधारित मॉडल के विपरीत), जिससे हमले की सतह कम होती है और सुरक्षा में सुधार होता है।
- रूटलेस कंटेनर: सुरक्षा और बढ़ाने के लिए कंटेनरों को गैर-root उपयोगकर्ता के रूप में चलाएँ।
- Docker-संगत कमांड: Podman का CLI Docker के साथ संगत होने के लिए डिज़ाइन किया गया है, जिससे आप इस तरह के कमांड
podman pullयाpodman runका निर्बाध रूप से उपयोग कर सकते हैं। - systemd एकीकरण: कंटेनरों को सिस्टम सेवाओं के रूप में आसानी से प्रबंधित करें।
चरण 1: Ubuntu Server 22.04 पर Podman इंस्टॉल करें
1.1 अपना सिस्टम अपडेट करें
Podman इंस्टॉल करने से पहले, संगतता समस्याओं से बचने के लिए सुनिश्चित करें कि आपका सिस्टम अपडेट है:
sudo apt update && sudo apt upgrade -y
1.2 Podman इंस्टॉल करें
Podman Ubuntu के डिफ़ॉल्ट रिपॉज़िटरी में शामिल है, इसलिए आप इसे इस पैकेज प्रबंधक का उपयोग करके सीधे इंस्टॉल कर सकते हैं: apt।
sudo apt install podman -y
1.3 इंस्टॉलेशन सत्यापित करें
इंस्टॉलेशन के बाद, Podman के इंस्टॉल किए गए संस्करण को सत्यापित करें ताकि यह सुनिश्चित हो सके कि यह उपयोग के लिए तैयार है:
podman --version
उदाहरण आउटपुट:
podman version 3.4.4
चरण 2: अपना पहला Podman कंटेनर चलाएँ
2.1 कंटेनर छवि खींचें
Podman एप्लिकेशन चलाने के लिए कंटेनर छवियों का उपयोग करता है। हल्की Alpine Linux छवि खींचकर शुरुआत करें:
podman pull alpine
2.2 कंटेनर चलाएँ
Alpine छवि का उपयोग करके कंटेनर चलाएँ:
podman run --rm -it alpine sh
यह कमांड Alpine कंटेनर के अंदर एक इंटरैक्टिव शेल शुरू करता है। आप बुनियादी कमांड का परीक्षण कर सकते हैं, जैसे:
echo "Hello from Podman!"
2.3 कंटेनर से बाहर निकलें
कंटेनर से बाहर निकलने के लिए, टाइप करें:
exit
चरण 3: Podman संक्षिप्त-नाम समाधान को समझना
संक्षिप्त नामों की समस्या
संक्षिप्त नामों (जैसे,nginx) का उपयोग करके कंटेनर छवियाँ खींचते समय, Podman को यह जानने की आवश्यकता होती है कि छवि के लिए किस रजिस्ट्री में खोजा जाए। उचित कॉन्फ़िगरेशन के बिना, आपको निम्नलिखित त्रुटि का सामना करना पड़ सकता है:
Error: short-name "nginx" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"
यह त्रुटि क्यों होती है?
Podman को छवियों के लिए खोजे जाने वाले कंटेनर रजिस्ट्रियों को परिभाषित करने के लिए एक कॉन्फ़िगरेशन फ़ाइल (registries.conf) की आवश्यकता होती है। यदि यह फ़ाइल गुम है या गलत तरीके से कॉन्फ़िगर की गई है, तो Podman इस तरह के संक्षिप्त नामों को हल नहीं कर सकता: nginx।
चरण 4: संक्षिप्त-नाम समाधान त्रुटि को ठीक करना
4.1 registries.conf फ़ाइल खोजें या बनाएँ
फ़ाइल registries.conf आमतौर पर इस स्थान पर होती है: /etc/containers/registries.conf। जाँचें कि फ़ाइल मौजूद है:
ls /etc/containers/registries.conf
यदि यह मौजूद नहीं है, तो इसे बनाएँ:
sudo nano /etc/containers/registries.conf
4.2 डिफ़ॉल्ट रजिस्ट्री कॉन्फ़िगरेशन जोड़ें
फ़ाइल में निम्नलिखित कॉन्फ़िगरेशन जोड़ें:
[registries.search]
registries = ['docker.io', 'quay.io']
docker.io: Docker Hub को संदर्भित करता है, जो सबसे अधिक उपयोग की जाने वाली कंटेनर रजिस्ट्री है।quay.io: एक और लोकप्रिय कंटेनर रजिस्ट्री।
फ़ाइल सहेजें और बाहर निकलें (Ctrl+O दबाएँ, फिर Ctrl+X दबाएँ, यदि nano का उपयोग कर रहे हैं)।
4.3 पुल कमांड पुनः प्रयास करें
रजिस्ट्री कॉन्फ़िगरेशन हो जाने के बाद, इस छवि को फिर से खींचने का प्रयास करें: nginx।
podman pull nginx
Podman को अब संक्षिप्त नाम nginx को docker.io/library/nginx में बदलना चाहिए और छवि को सफलतापूर्वक खींचना चाहिए।
चरण 5: गैर-root उपयोगकर्ता के रूप में कंटेनर चलाएँ
Podman की एक उत्कृष्ट विशेषता root विशेषाधिकारों की आवश्यकता के बिना कंटेनर चलाने की क्षमता है। इसे सेट करने का तरीका यहाँ बताया गया है:
5.1 गैर-root उपयोगकर्ता पर स्विच करें
नियमित उपयोगकर्ता के रूप में लॉग इन करें (जैसे,uadmin):
su - uadmin
सत्यापित करें कि Podman गैर-root उपयोगकर्ता के लिए काम करता है:
podman info
5.2 गैर-root उपयोगकर्ताओं के लिए अनुमति समस्याएँ ठीक करें
यदि आपको गैर-root उपयोगकर्ता के रूप में Podman चलाते समय permission denied त्रुटि मिलती है, तो संभवतः यह उपयोगकर्ता की होम निर्देशिका के गलत स्वामित्व के कारण है।
होम निर्देशिका के स्वामित्व की जाँच करें:
ls -ld /home/uadmin
यदि निर्देशिका का स्वामी root है, तो उसे ठीक करें:
sudo chown -R uadmin:uadmin /home/uadmin
आवश्यक .local निर्देशिका मैन्युअल रूप से बनाएँ:
mkdir -p /home/uadmin/.local/share/containers
sudo chown -R uadmin:uadmin /home/uadmin/.local
Podman का फिर से परीक्षण करें:
podman info
Podman को अब गैर-root उपयोगकर्ता के रूप में सफलतापूर्वक काम करना चाहिए।
चरण 6: शुरुआती लोगों के लिए उपयोगी Podman कमांड
शुरुआत करने में मदद के लिए कुछ आवश्यक Podman कमांड यहाँ दिए गए हैं:
- चल रहे कंटेनर सूचीबद्ध करें:
podman ps
- सभी कंटेनर सूचीबद्ध करें (रुके हुए सहित):
podman ps -a
- चल रहे कंटेनर को रोकें:
podman stop <container-id>
- कंटेनर हटाएँ:
podman rm <container-id>
- छवि हटाएँ:
podman rmi <image-name>
संदर्भ दस्तावेज़:
Podman के साथ शुरुआत | Podman
निष्कर्ष
Podman एक सुरक्षित, हल्का और लचीला कंटेनर इंजन है जो Ubuntu Server 22.04 के लिए एकदम सही है। इस मार्गदर्शिका में, हमने कवर किया:
- Podman इंस्टॉल करना।
- अपना पहला कंटेनर चलाना।
- संक्षिप्त-नाम समाधान त्रुटि को ठीक करना।
- गैर-root उपयोगकर्ता के रूप में कंटेनर चलाना।
इन चरणों का पालन करके, अब आपके पास Podman का पता लगाना शुरू करने और कंटेनरों को प्रभावी ढंग से प्रबंधित करने के लिए एक ठोस आधार है। अपनी रूटलेस क्षमताओं और Docker-संगत CLI के साथ, Podman आधुनिक कंटेनरीकरण वर्कफ़्लो के लिए एक उत्कृष्ट उपकरण है।
बने रहें:
अगले लेख में हम इस बारे में बात करेंगे: क्लाउड प्लेटफ़ॉर्म पर Ubuntu Server परिनियोजित करना जैसे GCP, AWS और Azure।