20. Ubuntu Server पर Docker कैसे स्थापित करें: कंटेनरीकरण के लिए चरण-दर-चरण मार्गदर्शिका

कंटेनरीकरण ने सॉफ़्टवेयर को पृथक, हल्के वातावरणों में पैक करके एप्लिकेशन परिनियोजन को बदल दिया है, जिससे विभिन्न प्रणालियों में संगति सुनिश्चित होती है। Ubuntu Server पर Docker एक शक्तिशाली संयोजन है जो इस प्रक्रिया को सरल बनाता है, जिससे डेवलपर और सिस्टम प्रशासक एप्लिकेशन को निर्बाध रूप से बना, भेज और चला सकते हैं। उद्योग के अग्रणी कंटेनरीकरण प्लेटफ़ॉर्म के रूप में, Docker वर्कफ़्लो को सुव्यवस्थित करता है और आधुनिक एप्लिकेशन विकास की मापनीयता को बढ़ाता है।

इस गाइड में, हम आपको Ubuntu Server पर Docker स्थापित करने और अपना पहला कंटेनरीकृत एप्लिकेशन चलाने के चरणों से अवगत कराएँगे। चाहे आप Docker में नए हों या अपनी परिनियोजन प्रक्रिया को अनुकूलित करना चाहते हों, यह ट्यूटोरियल आपको Ubuntu Server पर कंटेनरीकरण शुरू करने में मदद करेगा।


पिछले लेख:

01. Ubuntu Server का परिचय – SysOSX: AI & Cloud

02. अपना पहला Ubuntu सर्वर कैसे सेट करें: शुरुआती मार्गदर्शिका – 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 सर्वर को सुरक्षित करें: सुदृढ़ीकरण और सुरक्षा के व्यावहारिक चरण – SysOSX: AI & Cloud

09. Ubuntu सर्वर ऑडिटिंग और लॉगिंग

10. Ubuntu Server के लिए सिस्टम मॉनिटरिंग टूल: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

11. Ubuntu सर्वर के लिए केंद्रीकृत लॉगिंग: अवश्य पढ़ें मार्गदर्शिका – SysOSX: AI & Cloud

12. Ubuntu Server के लिए ऑडिट और अनुपालन: सर्वोत्तम अभ्यास – SysOSX: AI & Cloud

13. होस्टिंग और वेब एप्लिकेशन के लिए अपना Ubuntu सर्वर सेट करना: अंतिम मार्गदर्शिका – SysOSX: AI & Cloud

14. एक Ubuntu सर्वर पर कई वेबसाइट होस्ट करें: उपयोगी सुझाव – 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

19. KVM के साथ वर्चुअलाइज़ेशन का परिचय: Ubuntu Server के लिए शुरुआती मार्गदर्शिका – SysOSX: AI & Cloud



पूर्वापेक्षाएँ

Docker स्थापित करने से पहले, सुनिश्चित करें कि आपका Ubuntu सर्वर इन आवश्यकताओं को पूरा करता है:

  • Ubuntu 20.04 LTS या बाद का संस्करण (64-बिट)।
  • sudo विशेषाधिकार या रूट एक्सेस।
  • स्थिर इंटरनेट कनेक्शन पैकेज डाउनलोड करने के लिए।

चरण 1: Ubuntu Server पर Docker स्थापित करें

सिस्टम पैकेज अपडेट करें
sudo apt update && sudo apt upgrade -y  

आवश्यक निर्भरताएँ स्थापित करें
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y  
Docker की आधिकारिक GPG कुंजी जोड़ें
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg  

Docker रिपॉजिटरी सेट करें
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  

Docker Engine स्थापित करें
sudo apt update  
sudo apt install docker-ce docker-ce-cli containerd.io -y  
इंस्टॉलेशन सत्यापित करें
sudo docker run hello-world  

सफल होने पर, आपको नीचे जैसा पुष्टि संदेश दिखाई देगा ।


चरण 2: गैर-रूट उपयोगकर्ता के रूप में Docker प्रबंधित करें

डिफ़ॉल्ट रूप से, Docker को sudo विशेषाधिकारों की आवश्यकता होती है। बार-बार sudo टाइप करने से बचने के लिए:

  1. Docker समूह बनाएँ (यदि मौजूद नहीं है): sudo groupadd docker
  2. अपने उपयोगकर्ता को समूह में जोड़ें: sudo usermod -aG docker $USER
  3. परिवर्तन लागू करें: newgrp docker

चरण 3: अपना पहला कंटेनर चलाएँ

सेकंड में Nginx वेब सर्वर लॉन्च करें:

docker run -d -p 8080:80 --name my-nginx nginx  

  • -d: डिटैच्ड मोड में चलाएँ।
  • -p 8080:80: होस्ट पोर्ट 8080 को कंटेनर पोर्ट 80 से मैप करें।
  • --name: कंटेनर को कस्टम नाम दें।

एक्सेस सत्यापित करें:

curl http://localhost:8080  

चरण 4: आवश्यक Docker कमांड

कमांडविवरण
docker psचल रहे कंटेनरों की सूची बनाएँ
docker imagesडाउनलोड की गई इमेज देखें
docker stop <container-id>कंटेनर रोकें
docker rm <container-id>कंटेनर हटाएँ
docker rmi <image-id>इमेज हटाएँ

चरण 5: Docker Compose के साथ वर्कफ़्लो स्वचालित करें

मल्टी-कंटेनर एप्लिकेशन के लिए, Docker Compose:

  • Docker Compose स्थापित करें:
sudo apt install docker-compose -y
  •  docker-compose.yml फ़ाइल बनाएँ:
version: '3'  
services:  
  web:  
    image: nginx  
    ports:  
      - "8080:80"  

  • स्टैक शुरू करें:
docker-compose up -d

Ubuntu पर Docker के लिए सर्वोत्तम अभ्यास

  • नियमित रूप से Docker अपडेट करें:
sudo apt update && sudo apt upgrade docker-ce -y
  • अप्रयुक्त संसाधनों को साफ़ करें:
docker system prune -a
  • सुरक्षा और विश्वसनीयता के लिए  Docker Hub से आधिकारिक इमेज का उपयोग करें।

सामान्य समस्याओं का निवारण

  • अनुमति अस्वीकृत: सुनिश्चित करें कि आपका उपयोगकर्ता docker  समूह में है।
  • पोर्ट विवाद: जाँचें कि क्या अन्य सेवाएँ उसी पोर्ट का उपयोग कर रही हैं।
  • इमेज पुल त्रुटियाँ: इंटरनेट कनेक्टिविटी और इमेज नाम की वर्तनी सत्यापित करें।

Docker बनाम अन्य कंटेनरीकरण टूल

हालाँकि Docker कंटेनरीकरण क्षेत्र में हावी है, विकल्पों को समझने से आपके उपयोग के मामले के लिए सही टूल चुनने में मदद मिलती है:

टूलप्रकारप्रमुख विशेषताएँकिसके लिए सर्वोत्तम
Dockerएप्लिकेशन कंटेनर– पोर्टेबल, ऐप-केंद्रित पैकेजिंग पर ध्यान<br>- विशाल पारिस्थितिकी तंत्र (Docker Hub)<br>- सरल CLI और Composeडेवलपर, माइक्रोसर्विस, CI/CD वर्कफ़्लो
LXDसिस्टम कंटेनर– पूर्ण OS वातावरण (हल्के VM की तरह)<br>- LXC/Linux के साथ सुदृढ़ एकीकरण<br>- उन्नत संसाधन प्रबंधनइन्फ्रास्ट्रक्चर-एज़-ए-सर्विस, हाइपरवाइज़र प्रतिस्थापन
Podmanएप्लिकेशन कंटेनर– डेमनरहित आर्किटेक्चर<br>- डिफ़ॉल्ट रूप से रूटलेस<br>- Docker-संगत CLIसुरक्षा-केंद्रित वर्कलोड, एज कंप्यूटिंग
containerdकंटेनर रनटाइम– निम्न-स्तरीय रनटाइम (Docker/Kubernetes द्वारा प्रयुक्त)<br>- न्यूनतम डिज़ाइन<br>- मापनीयता पर ध्यानKubernetes क्लस्टर, बड़े पैमाने पर परिनियोजन
CRI-OKubernetes रनटाइम– Kubernetes CRI के लिए अनुकूलित<br>- हल्का और सुरक्षित<br>- Red Hat द्वारा समर्थितOpenShift/OKD क्लस्टर, Kubernetes-मूल संचालन
Docker अब भी क्यों उत्कृष्ट है
  • शुरुआती लोगों के लिए अनुकूल: ऐप विकास और परीक्षण के लिए सरल वर्कफ़्लो।
  • पोर्टेबिलिटी: कंटेनर macOS, Windows और Linux पर बिल्कुल एक जैसे चलते हैं।
  • समुदाय समर्थन: 80 लाख से अधिक Docker Hub इमेज और व्यापक दस्तावेज़।
विकल्पों पर कब विचार करें
  • LXD: पूर्ण OS पृथक्करण की आवश्यकता है (उदाहरण के लिए, अलग-अलग उपयोगकर्ताओं के साथ कई सेवाओं की होस्टिंग)।
  • Podman: सुरक्षा को प्राथमिकता देते हैं (उदाहरण के लिए, सरकारी/स्वास्थ्य देखभाल वर्कलोड)।
  • containerd/CRI-O: Kubernetes-मूल इन्फ्रास्ट्रक्चर बनाना।

निष्कर्ष

इस गाइड का पालन करके, आपने Ubuntu Server पर Docker स्थापित कर लिया है और अपना पहला कंटेनरीकृत एप्लिकेशन परिनियोजित कर लिया है। Docker का लचीलापन इसे DevOps, क्लाउड-मूल विकास और हाइब्रिड वातावरणों के लिए अपरिहार्य बनाता है। अपने कंटेनर वर्कलोड को स्केल करने के लिए, Docker Swarm या Kubernetes एकीकरण जैसी उन्नत सुविधाओं का अन्वेषण करें।

संदर्भ: Docker आधिकारिक दस्तावेज़

आगे क्या? Linux कंटेनरों के लिए LXD का पता लगाने के लिए तैयार हो जाइए

अब जब आपने एप्लिकेशन कंटेनरीकरण के लिए Docker में महारत हासिल कर ली है, तो आइए Linux सिस्टम कंटेनरों की दुनिया में और गहराई से उतरें! जुड़े रहें हमारी आगामी मार्गदर्शिका के लिए:

“Linux कंटेनरों के लिए LXD का परिचय: हल्का वर्चुअलाइज़ेशन सरल बनाया गया“

2 thoughts on “20. How to Install Docker on Ubuntu Server: A Step-by-Step Guide to Containerization”

टिप्पणी छोड़ें