संपादित 2 महीने पहले द्वारा ExtremeHow संपादकीय टीम
डॉकर डेस्कटॉपविकासउपयोगसॉफ्टवेयर विकासदेवऑप्सस्थानीय पर्यावरणबादल कम्प्यूटिंगवर्चुअलाइजेशनउत्पादकतावर्कफ़्लो
अनुवाद अपडेट किया गया 2 महीने पहले
स्थानीय विकास से तात्पर्य आपके कोड को किसी प्रोडक्शन सर्वर पर तैनात करने से पहले आपके स्थानीय मशीन पर लिखने और परीक्षण करने की प्रक्रिया से है। Docker Desktop एक उपयोगी उपकरण है जो डेवलपर्स को स्थानीय रूप से कंटेनरीकृत अनुप्रयोग चलाने की अनुमति देता है, जिससे स्थानीय विकास की प्रक्रिया अधिक कुशल, स्केलेबल और प्रबंधनीय हो जाती है। यह दस्तावेज़ स्थानीय विकास के लिए Docker Desktop के उपयोग पर एक विस्तृत मार्गदर्शिका प्रदान करता है, भले ही आप इन अवधारणाओं से नए हों। मार्गदर्शिका के अंत तक, आपको Docker, Docker Desktop और अपने स्थानीय विकास कार्यप्रवाह में उन्हें प्रभावी ढंग से उपयोग करने की स्पष्ट समझ होनी चाहिए। आइए शुरू करें।
Docker Desktop में उतरने से पहले, यह समझना महत्वपूर्ण है कि Docker क्या है। Docker एक प्लेटफॉर्म है जो आपको अनुप्रयोगों को कंटेनरों में विकसित, शिप और चलाने की अनुमति देता है। कंटेनर आपको सभी निर्भरताओं और कॉन्फ़िगरेशन के साथ किसी एप्लिकेशन को एक इकाई में पैकेज करने की अनुमति देते हैं जो विभिन्न वातावरणों में लगातार चल सकता है। यह स्थिरता सुनिश्चित करती है कि विकास, परीक्षण और उत्पादन के दौरान एप्लिकेशन का व्यवहार एक जैसा रहे।
Docker Desktop MacOS और Windows मशीनों के लिए कंटेनरयुक्त एप्लिकेशन और सूक्ष्म सेवाओं के निर्माण और साझा करने के लिए एक एप्लिकेशन है। Docker Desktop में Docker Engine, Docker CLI Client, Docker Compose, Docker Content Trust, Kubernetes और Credential Helper शामिल हैं। यह उन डेवलपर्स के लिए एक व्यापक समाधान है जिन्हें स्थानीय रूप से कंटेनरीकृत एप्लिकेशन बनाने, प्रबंधित करने और तैनात करने की आवश्यकता होती है। Docker Desktop के साथ, आपको कंटेनरों को प्रबंधित करने के लिए एक सरल इंटरफ़ेस और टूल का एक समृद्ध सेट मिलता है, जो स्थानीय परियोजनाओं पर काम करने वाले डेवलपर्स के लिए इसे एक पसंदीदा विकल्प बनाता है।
सबसे पहले, आपको अपने मशीन पर Docker Desktop स्थापित करने की आवश्यकता है। इन चरणों का पालन करें:
docker --version
। यदि यह सही ढंग से इंस्टॉल किया गया है तो आपको Docker का संस्करण प्रदर्शित करना चाहिए।स्थापना के बाद, आपको कुछ प्रारंभिक कॉन्फ़िगरेशन करने की आवश्यकता हो सकती है:
Docker में आप जो भी कंटेनर चलाते हैं वह Dockerfile का उपयोग करके बनाया गया है। Dockerfile एक सादा-पाठ फ़ाइल है जिसमें Docker छवि बनाने के निर्देश होते हैं। यहां एक साधारण Python एप्लिकेशन के लिए Dockerfile का एक बुनियादी उदाहरण दिया गया है:
# एक आधिकारिक Python रनटाइम का उपयोग करें अभिभावक छवि FROM python:3.8-slim के रूप में # कार्यशील निर्देशिका सेट करें WORKDIR /app # वर्तमान निर्देशिका सामग्री को कंटेनर में /app में कॉपी करें COPY . /app # आवश्यक पैकेज इंस्टॉल करें requirements.txt में निर्दिष्ट RUN pip install --no-cache-dir -r requirements.txt # इस कंटेनर के बाहर की दुनिया के लिए पोर्ट 80 उपलब्ध कराएं EXPOSE 80 # कंटेनर लॉन्च होने पर app.py चलाएं CMD ["python", "app.py"]
# एक आधिकारिक Python रनटाइम का उपयोग करें अभिभावक छवि FROM python:3.8-slim के रूप में # कार्यशील निर्देशिका सेट करें WORKDIR /app # वर्तमान निर्देशिका सामग्री को कंटेनर में /app में कॉपी करें COPY . /app # आवश्यक पैकेज इंस्टॉल करें requirements.txt में निर्दिष्ट RUN pip install --no-cache-dir -r requirements.txt # इस कंटेनर के बाहर की दुनिया के लिए पोर्ट 80 उपलब्ध कराएं EXPOSE 80 # कंटेनर लॉन्च होने पर app.py चलाएं CMD ["python", "app.py"]
यह Dockerfile निम्नलिखित कार्य करता है:
FROM python:3.8-slim
: यह Docker को बेस इमेज के रूप में Python 3.8 स्लिम इमेज का उपयोग करने का निर्देश देता है।WORKDIR /app
: यह कंटेनर के अंदर कार्यशील निर्देशिका को /app पर सेट करता है।COPY . /app
: यह वर्तमान निर्देशिका की सामग्री (आपके ऐप की फाइलें) कंटेनर में कॉपी करता है।RUN pip install --no-cache-dir -r requirements.txt
: यह requirements.txt फ़ाइल में सूचीबद्ध आवश्यक Python पैकेजों को इंस्टॉल करता है।EXPOSE 80
: यह एप्लिकेशन को पोर्ट 80 के माध्यम से संवाद करने की अनुमति देता है।CMD ["python", "app.py"]
: यह कंटेनर शुरू होने पर चलाने के लिए कमांड को निर्दिष्ट करता है।एक बार जब आपके पास Dockerfile हो, तो आप Docker छवि बना सकते हैं। टर्मिनल में अपने Dockerfile वाली निर्देशिका पर जाएं और निम्न आदेश निष्पादित करें:
docker build -t my-python-app .
इस आदेश का विस्तृत विवरण इस प्रकार है:
docker build
एक Dockerfile से Docker छवि बनाने का आदेश है।-t my-python-app
छवि को एक नाम के साथ टैग करता है, इस मामले में, "my-python-app"।.
निर्माण संदर्भ स्थान को निर्दिष्ट करता है, जो वर्तमान निर्देशिका है।अपनी छवि बनाने के बाद, आप इसे कंटेनर के रूप में चला सकते हैं। अपनी छवि से कंटेनर शुरू करने के लिए निम्नलिखित कमांड का उपयोग करें:
docker run -d -p 4000:80 my-python-app
इस आदेश का स्पष्टीकरण:
docker run
नया कंटेनर शुरू करने के लिए कमांड को निष्पादित करता है।-d
कंटेनर को आइसोलेटेड मोड (पृष्ठभूमि में) में चलाता है।-p 4000:80
होस्ट पर पोर्ट 4000 को कंटेनर में पोर्ट 80 पर मैप करता है, जिससे आप localhost:4000 पर एप्लिकेशन तक पहुंच सकते हैं।my-python-app
से तात्पर्य उस Docker छवि से है जिसे आपने पहले बनाया था।स्थानीय विकास पर काम करते समय, विशेष रूप से उन अनुप्रयोगों के साथ जिनमें कई सेवाएं या सूक्ष्म सेवाएं शामिल हैं, इन सेवाओं के प्रबंधन की प्रक्रिया को Docker Compose का उपयोग करके सरल बनाया जा सकता है। Docker Compose कई-कंटेनर Docker अनुप्रयोगों को परिभाषित करने और चलाने का एक उपकरण है। यहां docker-compose.yml
फ़ाइल का एक उदाहरण दिया गया है:
version: '3' services: web: image: my-python-app ports: - "4000:80" database: image: postgres environment: POSTGRES_USER: example POSTGRES_PASSWORD: example
version: '3' services: web: image: my-python-app ports: - "4000:80" database: image: postgres environment: POSTGRES_USER: example POSTGRES_PASSWORD: example
इस उदाहरण में:
my-python-app
छवि से बनाई जाती है, और यह होस्ट पर पोर्ट 4000 को कंटेनर में पोर्ट 80 पर मैप करती है।docker-compose.yml
में निर्दिष्ट अपने बहु-कंटेनर एप्लिकेशन को शुरू करने के लिए, टर्मिनल में निम्नलिखित कमांड निष्पादित करें:
docker-compose up
यह कमांड सेवा को कंटेनर बनाता है, दोबारा बनाता है, शुरू करता है और संलग्न करता है। आप docker-compose down
का उपयोग करके एप्लिकेशन को रोक सकते हैं, जो कंटेनरों को रोक देगा और हटा देगा।
एक बार आपके कंटेनर चलने के बाद, आपको विभिन्न प्रबंधन कार्य करने की आवश्यकता हो सकती है। यहां कुछ सामान्य आदेश दिए गए हैं:
docker ps
: सभी चल रहे कंटेनरों को सूचीबद्ध करता है।docker stop <container-id>
: इसके आईडी का उपयोग करके चल रहे कंटेनर को रोकता है।docker start <container-id>
: इसके आईडी का उपयोग करके एक रुके हुए कंटेनर को शुरू करता है।docker logs <container-id>
: कंटेनर के लॉग प्रदर्शित करता है, जो डिबगिंग के लिए उपयोगी है।docker exec -it <container-id> /bin/bash
: चल रहे कंटेनर के अंदर एक शेल उदाहरण खोलता है, जिससे आप इसे मैन्युअल रूप से निरीक्षण और बातचीत कर सकते हैं।docker rm <container-id>
: आपके सिस्टम से किसी रुके हुए कंटेनर को हटा देता है।docker rmi <image-id>
: आपके सिस्टम से छवि को हटा देता है, जिससे डिस्क स्थान खाली हो जाता है।यदि आप अपनी Docker छवियों को अन्य के साथ साझा करना चाहते हैं या उन्हें अन्य सिस्टम पर उपयोग करना चाहते हैं, तो आप उन्हें क्लाउड-आधारित रिपॉजिटरी Docker Hub पर पुश कर सकते हैं। आप इसे कैसे कर सकते हैं:
docker login
का उपयोग करके अपने टर्मिनल से Docker Hub में लॉग इन करें।docker tag my-python-app <your-username>/my-python-app
।docker push <your-username>/my-python-app
।एक बार पुश करने के बाद, आपकी छवि आपके Docker Hub खाते में उपलब्ध होगी, और आप इसे अन्य मशीनों पर docker pull <your-username>/my-python-app
का उपयोग करके पुल कर सकते हैं।
हमेशा अपने Dockerfiles को अपने संस्करण नियंत्रण प्रणाली में शामिल करें। यह सुनिश्चित करता है कि कंटेनर वातावरण की सटीक कॉन्फ़िगरेशन को आपके एप्लिकेशन के स्रोत कोड के साथ ट्रैक किया जाता है। यह अभ्यास किसी भी व्यक्ति को आपके एप्लिकेशन पर काम करने में मदद करेगा, जिसमें आप भविष्य में आसानी से वातावरण बना सकते हैं।
बड़ी Docker छवियों को बनाना, स्थानांतरित करना और चलाना अधिक समय लेता है। इसलिए, दक्षता के लिए छवि का आकार कम करना बहुत महत्वपूर्ण है। आप छवि आकार को निम्नलिखित तरीकों से कम कर सकते हैं:
यहां एक बहु-स्तरीय Dockerfile का एक उदाहरण दिया गया है:
# निर्माण चरण FROM golang:1.15 as builder WORKDIR /app COPY . . RUN go build -o myapp # अंतिम चरण FROM alpine:latest WORKDIR /app COPY --from=builder /app/myapp . ENTRYPOINT ["./myapp"]
# निर्माण चरण FROM golang:1.15 as builder WORKDIR /app COPY . . RUN go build -o myapp # अंतिम चरण FROM alpine:latest WORKDIR /app COPY --from=builder /app/myapp . ENTRYPOINT ["./myapp"]
Docker के साथ काम करते समय सुरक्षा की अनदेखी नहीं की जानी चाहिए। सुरक्षा बढ़ाने के लिए यहां कुछ प्रथाएं दी गई हैं:
USER
निर्देश का उपयोग करके न्यूनतम आवश्यक विशेषाधिकारों के साथ कंटेनरों को चलाना।अपने Docker वातावरण के लिए लॉगिंग और निगरानी प्रणाली स्थापित करें। Docker का देशी लॉगिंग ड्राइवर, मेट्रिक्स के लिए Prometheus और सुंदर डेटा विज़ुअलाइज़ेशन के लिए Grafana जैसे टूल का उपयोग करने पर विचार करें। उचित निगरानी के साथ, आपको अपने कंटेनरों के व्यवहार और प्रदर्शन में अंतर्दृष्टि प्राप्त होगी, जिससे आप किसी भी समस्या पर तेजी से प्रतिक्रिया कर पाएंगे।
Docker Desktop उन डेवलपर्स के लिए एक अनिवार्य उपकरण है जो अपनी स्थानीय विकास मशीनों पर कंटेनर तकनीक का लाभ उठाना चाहते हैं। अनुप्रयोगों को अलग-अलग कंटेनरों में चलाने की अनुमति देकर, Docker Desktop विकास वातावरण की स्थापना और प्रबंधन को सरल बनाता है। यह स्थिरता बढ़ाता है और एप्लिकेशन को चलाने के लिए आवश्यक हर चीज़ को एक साथ पैकेज करके यह मेरी मशीन पर काम करता है सुनिश्चित करने की समस्या को कम करता है।
यह मार्गदर्शिका Docker Desktop का एक विस्तृत अवलोकन प्रदान करती है, स्थापना और कॉन्फ़िगरेशन से लेकर कंटेनरों को बनाने और चलाने और स्थानीय विकास में Docker के उपयोग के सर्वोत्तम अभ्यासों तक। अपने विकास प्रक्रियाओं में Docker Desktop को एकीकृत करके, आप तेजी से मजबूत अनुप्रयोगों के निर्माण, परीक्षण और तैनाती में एक शक्तिशाली सहयोगी प्राप्त करते हैं।
किसी भी तकनीक की तरह, Docker में और विस्तार से Docker Desktop में महारत हासिल करने की कुंजी लगातार अभ्यास और निरंतर सीखने में निहित है। इन सिद्धांतों को लागू करके और Docker टूल और संसाधनों के विशाल पारिस्थितिकी तंत्र का पता लगा कर, आप जितना अधिक करेंगे, उतने अधिक कुशल बन जाएंगे।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं