Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

Linux पर Podman कंटेनर्स के लिए शुरुआती गाइड

जब प्रौद्योगिकी के भविष्य के बारे में बात करते हैं, तो कई अनुभवी टेक जानते हैं कि वर्चुअलाइजेशन और कंटेनराइजेशन बहुत अधिक वही रास्ता है। वे एप्लिकेशन और सेवा सुरक्षा को अधिक अनुमति देते हैं, और उन्हें अन्य सेवाओं के माध्यम से आसानी से प्रबंधित किया जाता है जो स्नैपशॉटिंग, टेम्प्लेट, और वन-सर्वर-पर-एप्लिकेशन मॉडल की तुलना में अधिक अनुकूलन की अनुमति देते हैं। हालांकि, यह हमेशा पूरी तरह से स्पष्ट नहीं होता कि आपको वर्चुअलाइजेशन और कंटेनराइजेशन के साथ कैसे शुरुआत करनी चाहिए। हमने पहले Linux, Windows, और macOS पर वर्चुअलाइजेशन को कई बार कवर किया है, लेकिन कंटेनराइजेशन थोड़ा अलग जानवर होता है। हम इस लेख में आपको Linux पर Podman के लिए एक शुरुआती गाइड प्रदान कर रहे हैं, कंटेनराइजेशन के लिए एक शानदार टूल।

कंटेनर क्या हैं?

कंटेनर अनिवार्य रूप से छोटे वर्चुअल मशीन हैं - लेकिन सिर्फ एप्लिकेशन के लिए। वे बहुत सारी समान अवधारणाओं का उपयोग करते हैं और बहुत सी समान सुरक्षा और उपयोग में आसानी की विशेषताओं को ले जाते हैं, लेकिन वे बहुत छोटे होते हैं और एप्लिकेशन की आसान इमेजिंग और वितरण की अनुमति देते हैं। यह बहुत कुछ है जिस पर Flatpaks और Snaps आधारित हैं। आप समानताएं देखना शुरू कर सकते हैं: एक प्रोग्राम, कई एप्लिकेशन जो आइसोलेटेड वातावरण में चलते हैं।

Podman क्या है?

हम में से कई ने Docker, कंटेनर इंजन के OG के बारे में सुना है। Podman एक समान कंटेनर इंजन है जो Docker के समान संरचना का उपयोग करता है लेकिन कुछ प्रमुख अंतरों के साथ।

एक यह है कि Podman डेमॉनलेस है, जबकि Docker एक डेमॉन पर निर्भर करता है। इसका मतलब है कि Podman कंटेनर रूट-लेवल अनुमतियों के बिना काम कर सकते हैं, जिससे अधिक सुरक्षा और लचीलापन मिलता है। उपयोगकर्ता स्तर पर चलने वाला एक कंटेनर का अर्थ है कि उपयोगकर्ता केवल अपने कंटेनर देख सकते हैं और किसी और के नहीं। Podman सरल आर्किटेक्चर के कारण सिस्टम संसाधनों पर हल्का है, जो अधिक सुखद अनुभव के लिए बनाता है।

डेमॉनलेस आर्किटेक्चर रूटलेस कंटेनर नामक किसी चीज़ की ओर ले जाता है। यह एक अवधारणा है जो पिछले अंतर पर बनती है लेकिन सुरक्षा पर केंद्रित है। यदि कोई हमलावर आपके कंटेनर से समझौता करता है और किसी भी कारण से बच निकलता है, तो उनके पास रूट अनुमतियों के बजाय केवल बुनियादी उपयोगकर्ता अनुमतियां होंगी। इसके लिए कुछ अतिरिक्त सेटअप की आवश्यकता होती है, और फिलहाल कुछ कमियां हैं, लेकिन यह कुछ ऐसा है जो देखने लायक है।

Podman इंस्टॉल करना

अधिकांश डिस्ट्रो के लिए, Podman मुख्य रिपॉजिटरी में है, जो इसे एक सरल इंस्टॉलेशन कमांड बनाता है:

# Debian/Ubuntu
sudo apt install podman
# Fedora/CentOS/Redhat
sudo dnf install podman
# Arch Linux
sudo pacman -S podman
# OpenSUSE
sudo zypper install podman
# Gentoo
sudo emerge app-emulation/podman

Podman का उपयोग करना

Podman कंटेनर शुरू करने के लिए कमांड सिंटैक्स थोड़ा भ्रमित करने वाला हो सकता है, लेकिन एक बार जब आप इसकी आदत डाल लेते हैं, तो आप पैटर्न को पहचानना शुरू कर देंगे। प्रोजेक्ट से एक नमूना कंटेनर है जिसे आप टर्मिनल में यह कमांड दर्ज करके चला सकते हैं:

podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/run/httpd -e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d \
-e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf \
-e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ \
registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd

यह सूचीबद्ध रजिस्ट्री से कुछ इमेज खींचेगा, और एक बार यह हो जाने पर, आपको एक लंबी संख्या मिलेगी। आप बाद में चल रहे कंटेनर की जांच करते समय उसे देखेंगे।

चल रहे Podman कंटेनर की जांच करने के लिए, निम्न कमांड दर्ज करें:

podman ps

आपको वह कंटेनर दिखाई देगा जिसे आपने पहले शुरू किया था। यह पुष्टि करता है कि यह चल रहा है। हालांकि, यदि आप विशेष रूप से उस वेबपेज को देखना चाहते हैं जो Apache चला रहा है, तो आप निम्न कमांड चलाएंगे:

curl https://0.0.0.0:8080

0.0.0.0 को उस IP पते से बदलें जो podman ps चलाने पर दिखाया गया था। आपको बहुत सारा गड़बड़ HTML मिलना चाहिए, लेकिन यदि आप शीर्ष पर देखते हैं, तो आप HTML में शीर्षक के लिए सिंटैक्स देखेंगे और जानेंगे कि यह काम कर रहा है।

<title>Test Page for the Apache HTTP Server on Fedora</title>

Podman इमेज

Podman के बारे में अच्छी चीजों में से एक इमेज का उपयोग करना है। आप httpd या अन्य प्रोग्राम जैसे अन्य इमेज खोज सकते हैं जिन्हें आप चलाने में रुचि रखते हैं।

podman search CONTAINERNAME

मैंने vncserver खोजा, और यह मुझे मिला। आप देख सकते हैं कि कई विकल्प हैं, और यह सिर्फ आपकी व्यक्तिगत प्राथमिकता पर आ जाएगा।

उन इमेज में से एक को प्राप्त करने के लिए, podman pull कमांड चलाएं।

podman pull CONTAINERNAME

यह अनुशंसा की जाती है कि आप कंटेनर रजिस्ट्री के लिए पूर्ण URL खींचें ताकि पूरी तरह से सटीक हो। एक उदाहरण के रूप में, मैं जो कमांड चला रहा हूं वह है:

podman pull docker.io/michaelaboeckler/vncserver

केवल podman pull vncserver चलाने के बजाय क्योंकि ऐसी इमेज हो सकती हैं जो मैं नहीं चाहता जो इसे चुनने के बजाय चुनी जाएंगी जो मैं चाहता हूं।

आप अपने इमेज पर इस कमांड से भी जांच कर सकते हैं:

podman images

और इस कमांड से कंटेनर रोकें:

podman stop -l

-l फ्लैग का अर्थ है कि यह नवीनतम रन कंटेनर को रोकेगा, लेकिन आप सभी कंटेनर रोकने के लिए -a फ्लैग का भी उपयोग कर सकते हैं।

आपने देखा होगा कि Podman कंटेनर इमेज के लिए docker.io पर भी देख सकता है। ऐसा इसलिए है क्योंकि Podman कमांड और Docker कमांड अनिवार्य रूप से समान हैं - इतना कि कभी-कभी docker कमांड को podman जैसे एलियास करने की सिफारिश की जाती है:

alias docker='podman'

इसका अर्थ है कि जब भी आप docker दर्ज करते हैं, आपकी मशीन वैसे भी podman कमांड चलाएगी।

रूटलेस Podman

अपने सिस्टम को रूटलेस कंटेनर के लिए सेट अप करने के लिए, काफी कुछ सेटअप करना पड़ता है, लेकिन उनके Github पेज पर बढ़िया डॉक्यूमेंटेशन है।

मुझे उम्मीद है कि आपको Podman पर इस प्राइमर का आनंद आया, एक शानदार छोटा टूल जो आपको डेमॉनलेस, रूटलेस कंटेनर चलाने देगा ताकि आपका सिस्टम लीन, टिडी, और सुरक्षित रहे। यदि आपने किया, तो हमारे कुछ अन्य कंटेनर कंटेंट को देखना सुनिश्चित करें, जैसे ChromeOS में कंटेनर में Ubuntu चलाना, Docker कंटेनर को दूसरे होस्ट पर कॉपी करना, और Docker कंटेनर संसाधनों को सीमित करना।

  1. लिनक्स में नैनो (Nano) टेक्स्ट एडिटर का उपयोग करने के लिए शुरुआती गाइड लिनक्स में नैनो (Nano) टेक्स्ट एडिटर का उपयोग करने के लिए शुरुआती गाइड

    इस बात से इनकार नहीं किया जा सकता कि, नए लिनक्स उपयोगकर्ताओं के लिए, टर्मिनल का उपयोग करना काफी डरावना है। टर्मिनल पर फ़ाइलों को संपादित करने का विचार और भी डरावना है, Vim और GNU Emacs जैसे एडिटर्स शुरुआती लोगों के लिए समझने में कठिन साबित होते हैं। उदाहरण के लिए, Vim से बाहर निकलना भी कई लोगों के ल

  1. एंड्रॉइड स्टूडियो के लिए शुरुआती गाइड एंड्रॉइड स्टूडियो के लिए शुरुआती गाइड

    एंड्रॉइड स्टूडियो एंड्रॉइड का आधिकारिक इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट (IDE) है जो एंड्रॉइड ऐप्स विकसित करने के लिए है। यह इंटेलीजे पर बनाया गया है, वही कोड एडिटर जिसका उपयोग PyCharm में किया जाता है, जो पायथन डेवलपर्स के बीच लोकप्रिय है। यदि आप एंड्रॉइड स्टूडियो में नए हैं, तो IDE से परिचित होने

  1. टच टाइपिंग के लिए शुरुआती गाइड टच टाइपिंग के लिए शुरुआती गाइड

    टच टाइपिंग, यानी सभी दस उंगलियों से टाइप करने का कौशल, बिना कीबोर्ड को देखे, एक मूल्यवान कौशल है, यदि आप अपनी टाइपिंग गति को तेजी से बढ़ाना चाहते हैं। यदि आप टच टाइपिंग में नए हैं, तो यहां शुरुआत करने में मदद के लिए एक शुरुआती गाइड है। टच टाइपिंग क्या है? टच टाइपिंग का टच स्क्रीन से कोई लेना-देना न