Docker tutorial with example in hindi

 Docker एक open-source प्लेटफ़ॉर्म है जो डेवलपर्स और ऑपरेशन्स टीमों को एप्लिकेशन्स को पैकेज, डिप्लॉय और रन करने के लिए एक यूनिफ़ॉर्म वातावरण प्रदान करता है। Docker कंटेनराइजेशन तकनीक का उपयोग करता है, जिससे एप्लिकेशन्स को एक ऐसे वातावरण में रन किया जा सकता है, जिसमें सभी आवश्यक लाइब्रेरी और डिपेंडेंसीज़ पहले से इंस्टॉल होती हैं। इससे एप्लिकेशन की portability, scalability और deployability बहुत आसान हो जाती है।

इस ट्यूटोरियल में, हम Docker को समझेंगे और इसके उपयोग के उदाहरण देखेंगे।


1. Docker क्या है?

Docker एक platform है जो कंटेनर के रूप में एप्लिकेशन्स को पैकेज और डिप्लॉय करने के लिए उपयोग होता है। कंटेनर एक तरह का हल्का, पोर्टेबल, और स्केलेबल environment होता है जिसमें एप्लिकेशन और उसके सभी डिपेंडेंसीज़ एक साथ पैक हो जाते हैं, जिससे एप्लिकेशन को किसी भी जगह पर आसानी से रन किया जा सकता है।

2. Docker इंस्टॉलेशन

Docker को Linux पर इंस्टॉल करें:

  1. Docker की डिपेंडेंसीज़ को अपडेट करें:

    bash
    sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  2. Docker का GPG Key जोड़ें:

    bash
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  3. Docker का रिपॉजिटरी जोड़ें:

    bash
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  4. Docker को इंस्टॉल करें:

    bash
    sudo apt-get update sudo apt-get install docker-ce
  5. Docker की स्थिति चेक करें:

    bash
    sudo systemctl status docker

Docker को Windows और Mac पर इंस्टॉल करें:

Windows और Mac के लिए Docker Desktop उपलब्ध है। इसे Docker Desktop डाउनलोड पेज से डाउनलोड और इंस्टॉल किया जा सकता है। इंस्टॉलेशन के बाद, Docker Desktop को लॉन्च करें और Docker daemon रन होगा।


3. Docker के मुख्य तत्व

  1. Docker Image: Docker Image एक template होती है, जिसका उपयोग Docker कंटेनर को बनाने के लिए किया जाता है। यह एप्लिकेशन के रन करने के लिए आवश्यक सभी डिपेंडेंसीज़ और फाइलों को पैक करती है।

  2. Docker Container: Docker कंटेनर एक हल्का वर्चुअल वातावरण होता है, जो Docker Image को रन करने पर बनता है। कंटेनर को अलग-अलग वातावरण में रन किया जा सकता है।

  3. Dockerfile: Dockerfile एक स्क्रिप्ट होती है, जिसमें निर्देश होते हैं कि एक Docker Image को कैसे बनाया जाए। इसमें एप्लिकेशन के रन करने के लिए आवश्यक इंस्टॉलेशन, कॉन्फ़िगरेशन, और अन्य स्टेप्स होते हैं।

  4. Docker Hub: Docker Hub एक क्लाउड-बेस्ड रेजिस्ट्री है, जहां पर आप Docker Images को स्टोर और शेयर कर सकते हैं। यहां से आप सार्वजनिक Docker Images को डाउनलोड कर सकते हैं।


4. Docker का बेसिक उपयोग

(i) Docker Image डाउनलोड करना:

Docker Hub से Docker Image डाउनलोड करने के लिए docker pull कमांड का उपयोग किया जाता है। उदाहरण के लिए, Ubuntu का Docker Image डाउनलोड करने के लिए:

bash
docker pull ubuntu

(ii) Docker Image की सूची देखना:

आपके द्वारा डाउनलोड किए गए सभी Docker Images की सूची देखने के लिए:

bash
docker images

(iii) Docker कंटेनर रन करना:

Docker कंटेनर रन करने के लिए docker run कमांड का उपयोग किया जाता है। उदाहरण के लिए, Ubuntu कंटेनर को रन करने के लिए:

bash
docker run -it ubuntu

यह कमांड Ubuntu कंटेनर को इंटरएक्टिव मोड में रन करेगा। आप कंटेनर के अंदर शेल में प्रवेश करेंगे।

(iv) Docker कंटेनर की सूची देखना:

रन हो रहे सभी कंटेनरों की सूची देखने के लिए:

bash
docker ps

यदि आपको सभी कंटेनर (रन हो रहे और बंद) देखने हैं तो:

bash
docker ps -a

(v) Docker कंटेनर को रोकना:

रन हो रहे Docker कंटेनर को रोकने के लिए docker stop कमांड का उपयोग करें। उदाहरण:

bash
docker stop <container_id>

यहां <container_id> उस कंटेनर का ID है जिसे आप रोकना चाहते हैं।


5. Dockerfile और Docker Image बनाना

Dockerfile एक स्क्रिप्ट होती है जो बताती है कि Docker Image को कैसे बनाना है। एक सामान्य Dockerfile निम्नलिखित रूप में होता है:

Example: Dockerfile

Dockerfile
# बेस इमेज को सेट करें FROM ubuntu:latest # कंटेनर में कुछ पैकेज इंस्टॉल करें RUN apt-get update && apt-get install -y python3 python3-pip # वर्किंग डाइरेक्टरी सेट करें WORKDIR /app # ऐप की फाइलों को कंटेनर में कॉपी करें COPY . /app # ऐप रन करने के लिए कमांड सेट करें CMD ["python3", "app.py"]

यह Dockerfile एक Ubuntu बेस इमेज से शुरू होता है, Python और उसके पैकेज इंस्टॉल करता है, और फिर एप्लिकेशन की फाइल्स को कंटेनर में कॉपी करता है। अंत में, यह python3 app.py कमांड को रन करने के लिए सेट करता है।

(i) Docker Image बनाना:

Dockerfile से Docker Image बनाने के लिए निम्नलिखित कमांड का उपयोग किया जाता है:

bash
docker build -t myapp .

यह myapp नाम से एक Docker Image बनाएगा।

(ii) Docker Image को रन करना:

bash
docker run -it myapp

यह आपके एप्लिकेशन को कंटेनर में रन करेगा।


6. Docker Compose क्या है?

Docker Compose एक टूल है जो आपको मल्टी-कंटेनर एप्लिकेशन्स को आसानी से डिप्लॉय करने की सुविधा देता है। इससे आप एक YAML फाइल (docker-compose.yml) में एप्लिकेशन के कंटेनरों की सर्विसेस को डिफाइन कर सकते हैं।

Example: Docker Compose YAML फाइल

yaml
version: '3' services: web: image: nginx ports: - "80:80" app: build: ./app depends_on: - web

इस YAML फाइल में, दो सर्विसेस डिफाइन की गई हैं — web (nginx कंटेनर) और app (कस्टम एप्लिकेशन)। depends_on से यह सुनिश्चित होता है कि app कंटेनर web कंटेनर के बाद स्टार्ट होगा।

(i) Docker Compose से कंटेनर रन करना:

bash
docker-compose up

यह कमांड दोनों कंटेनरों को रन करेगा।

(ii) Docker Compose को बैकग्राउंड में रन करना:

bash
docker-compose up -d

7. Docker नेटवर्किंग

Docker कंटेनरों के बीच नेटवर्किंग का मतलब है कि वे एक दूसरे से कनेक्ट कर सकें। Docker कंटेनर एक अलग नेटवर्क पर रन होते हैं, जिससे उनके बीच संचार आसानी से हो सकता है।

(i) Docker नेटवर्क बनाने के लिए:

bash
docker network create mynetwork

(ii) Docker कंटेनर को नेटवर्क से जोड़ना:

bash
docker run -it --network=mynetwork ubuntu

8. Docker के फायदे

  1. पोर्टेबिलिटी: Docker कंटेनर के भीतर एप्लिकेशन अपने सभी डिपेंडेंसी के साथ पैक होता है, जिससे इसे किसी भी प्लेटफ़ॉर्म पर चलाया जा सकता है।
  2. लाइटवेट: Docker कंटेनर वर्चुअल मशीन के मुकाबले हल्के होते हैं और कम संसाधनों का उपयोग करते हैं।
  3. स्केलेबिलिटी: Docker कंटेनरों को जल्दी से स्केल किया जा सकता है। एक एप्लिकेशन के लिए कई कंटेनर बनाए जा सकते हैं और वे एक दूसरे के साथ काम कर सकते हैं।
  4. कंटेनराइजेशन: एप्लिकेशन और उसकी डिपेंडेंसीज़ को कंटेनर में पैक किया जाता है, जिससे सर्वर के ऑपरेटिंग सिस्टम से अलग होकर एप्लिकेशन चलती है।

निष्कर्ष

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

Comments

Popular posts from this blog

PrimeNG tutorial with examples using frequently used classes

Docker and Kubernetes Tutorials and QnA

Building strong foundational knowledge in frontend development topics