मुख्य सामग्री पर जाएँ

Docker इमेज को कंटेनर के रूप में चलाएं: एक व्यावहारिक शुरुआती मार्गदर्शिका

यह ट्यूटोरियल आपको docker run का उपयोग करके Docker इमेज को आत्मविश्वास से चलाना सिखाता है, स्पष्ट उदाहरणों, व्यावहारिक टिप्स, और ट्रबलशूटिंग सलाह के साथ।
· 9 मि॰ पढ़ें

AI के साथ खोजें

यदि आप सोच रहे हैं कि Docker इमेज कैसे चलाएं, तो आप अकेले नहीं हैं। चाहे आपने Docker Hub से कोई इमेज पुल की हो या खुद बनाई हो, उसे चलाना ही वह मुख्य कदम है जो आपके एप्लिकेशन को जीवन देता है।

यह ट्यूटोरियल शुरुआती के लिए अनुकूल docker run कमांड और उससे आगे की आपकी गाइड है। आप सीखेंगे:

  • वास्तव में Docker इमेज और कंटेनर क्या होते हैं।
  • विभिन्न विकल्पों का उपयोग करके इमेज कैसे चलाएं।
  • और कंटेनर को प्रो की तरह कैसे रोकें, हटाएं, और ट्रबलशूट करें।

अंत तक, आप अपने स्वयं के कंटेनर लॉन्च करने में आत्मविश्वास महसूस करेंगे और समझेंगे कि आंतरिक रूप से क्या चल रहा है।

Docker इमेज और कंटेनर को समझना

कमांड उदाहरणों में जाने से पहले, आइए सरल शब्दों में Docker इमेज और कंटेनर समझें।

यदि आप पहले से ही इन शब्दों से परिचित हैं, तो बेझिझक अगले सेक्शन पर जाएं!

Docker इमेज क्या है?

Docker इमेज आपके ऐप के लिए एक अपरिवर्तनीय ब्लूप्रिंट है। यह कंटेनर को चलाने के लिए आवश्यक हर चीज़ परिभाषित करती है: कोड, लाइब्रेरी, एनवायरनमेंट, और कॉन्फ़िग। एक बार इमेज होने पर, आप उससे एक या सौ कंटेनर स्पिन-अप कर सकते हैं। यह हर बार एक जैसा रहता है।

तो, इमेज आती कहाँ से हैं? Dockerfile उन्हें बनाता है। Dockerfile में आप बताते हैं कि कौन-सी बेस इमेज उपयोग करनी है, कौन-कौन-सी डिपेंडेंसी इंस्टॉल करनी हैं, और आपका ऐप कैसे चलना चाहिए।

एक बार आपका Dockerfile तैयार हो जाए, तो आप docker build कमांड चलाते हैं। यह कमांड फाइल में दिए चरणों का पालन करती है और उन्हें एक पुन: प्रयोज्य इमेज में बदल देती है।

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

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

यह “एक बार बनाएं, कहीं भी चलाएं” के सिद्धांत का पालन करता है, इसलिए आपको हर बार मैन्युअली एनवायरनमेंट सेट करने की आवश्यकता नहीं पड़ती। 

इमेज बनाम कंटेनर

निम्न तालिका इमेज और कंटेनर की साइड-बाय-साइड तुलना करती है:

इमेज

कंटेनर 

इमेज एक मानकीकृत पैकेज है जिसमें कंटेनर चलाने के लिए सभी फाइलें, बायनरी, लाइब्रेरी, और कॉन्फ़िगरेशन शामिल होते हैं।

इमेज का रनटाइम इंस्टांस।

इमेज अपरिवर्तनीय (immutable) होती है। यानी यह तब तक नहीं बदलती जब तक इसे फिर से न बनाया जाए।

कंटेनर परिवर्तनीय (mutable) होता है। आप इसे चलते समय संशोधित कर सकते हैं, नए पैकेज इंस्टॉल कर सकते हैं, या कॉन्फ़िग फाइलें बदल सकते हैं।

Dockerfile (इमेज बनाने के निर्देशों का सेट) एक इमेज बनाता है।

एक इमेज एक कंटेनर बनाती है।

आपका कंप्यूटर इमेज फाइलें स्टोर करता है।

कंटेनर आपकी मेमोरी में चलता है।

यदि आप कंटेनराइजेशन में बिल्कुल नए हैं, तो हमारा Introduction to Docker course आपको हैंड्स-ऑन उदाहरणों के साथ मुख्य अवधारणाओं से परिचित कराता है।

docker run कमांड

जब आप docker run कमांड निष्पादित करते हैं, तो आप Docker को किसी इमेज के आधार पर नया कंटेनर स्पिन-अप करने के लिए कहते हैं।

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

बेसिक सिंटैक्स

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

  • [OPTIONS] - कंटेनर कैसे चलेगा इसे कस्टमाइज़ करने के लिए अतिरिक्त फ्लैग्स
  • IMAGE - Docker इमेज का नाम 
  • [COMMAND] - (वैकल्पिक) इमेज के डिफॉल्ट कमांड को ओवरराइड करता है।
  • [ARG...]- (वैकल्पिक) आर्ग्युमेंट्स।

आम फ्लैग्स और विकल्प

  • -d: डिटैच्ड मोड: कंटेनर बैकग्राउंड में चलते हैं
  • -p: पोर्ट मैपिंग: ब्राउज़र से किसी सेवा (जैसे API या वेब ऐप) तक पहुँचने के लिए आपको एक पोर्ट एक्सपोज़ करना होगा। उदाहरण: -p 3000:3000 आपकी मशीन के पोर्ट 3000 को कंटेनर के पोर्ट 3000 से मैप करता है।
  • --name: Docker कंटेनर को डिफॉल्ट नाम देता है, लेकिन आप इसका उपयोग नया नाम देने के लिए कर सकते हैं।
  • -v:  इसे आप कंटेनर से अलग डेटा रखने के लिए उपयोग करते हैं, ताकि कंटेनर रुकने या डिलीट होने पर भी डेटा बना रहे।
  • --rm: कंटेनर रुकते ही इसे अपने आप हटा देता है।
  • -e: इसका उपयोग डेटाबेस पासवर्ड या API कीज़ पास करने के लिए करें, ताकि उन्हें ऐप में हार्डकोड न करना पड़े।

इंटरएक्टिव बनाम डिटैच्ड कंटेनर चलाना

Docker कंटेनर दो तरीकों से चलाता है: इंटरएक्टिव मोड (-it) और डिटैच मोड (-d)। हर मोड का उपयोग आपके लक्ष्य पर निर्भर करता है। 

  • -it: इंटरएक्टिव मोड: यदि आप टर्मिनल का उपयोग करके सीधे कंटेनर के अंदर काम करना चाहते हैं, तो आप -it फ्लैग का उपयोग कर सकते हैं। यह कंटेनर को इंटरएक्टिव मोड में डालता है, ताकि आप कमांड टाइप कर सकें, आउटपुट देख सकें, और रियल-टाइम में काम कर सकें।
    • -i: इनपुट खुला रखता है ताकि आप कंटेनर में कमांड टाइप कर सकें
    • -t: कंटेनर के अंदर टर्मिनल-जैसा इंटरफेस देता है
  • -d: डिटैच्ड मोड: यह कंटेनर को बैकग्राउंड में चलाता है, जिससे आपका टर्मिनल अन्य कार्यों के लिए मुक्त रहता है। 

मुख्य कमांड और श्रेष्ठ प्रथाएं हमेशा हाथ में रखने के लिए हमारा Docker for Data Science Cheat Sheet देखें।

Docker इमेज पुल करना और चलाना

अब जब आप docker run कमांड का सिंटैक्स जानते हैं, यह सेक्शन आपको कस्टम इमेज बनाने और उन्हें चलाने का तरीका दिखाएगा।

Docker Hub से इमेज का उपयोग

Docker Hub कंटेनर इमेज के लिए एक ऑनलाइन लाइब्रेरी की तरह है। आप पहले से बनी इमेज ले सकते हैं या अपनी अपलोड करके दूसरों के साथ साझा कर सकते हैं। यह पब्लिक और प्राइवेट दोनों तरह की रिपॉजिटरी सपोर्ट करता है, इसलिए आप समुदाय के साथ खुलकर इमेज साझा कर सकते हैं या अपनी आंतरिक टीमों के लिए एक्सेस कंट्रोल लागू कर सकते हैं।

कस्टम इमेज चलाना 

Docker इमेज चलाने के लिए, आपको पहले Dockerfile का उपयोग करके उसे बनाना होगा। फिर, आप उसे लोकली चला सकते हैं या साझा करने के लिए Docker Hub पर पुश कर सकते हैं। 

तो, पहले एक Dockerfile बनाते हैं। यहाँ एक नमूना है:

# Use official Python base image
FROM python:3.11-slim
# Set working directory in the container
WORKDIR /app
# Copy requirements file and install dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy the rest of the app code
COPY . .
EXPOSE 5000
# Set default command
CMD ["python", "app.py"]

ऊपर दिए Dockerfile का क्या मतलब है?

  • FROM python:3.11-slim: Python 3.11 वर्ज़न के साथ बेस इमेज
  • WORKDIR /app: कंटेनर के अंदर कार्य-निर्देशिका /app सेट करता है।
  • COPY requirements.txt . : लोकल मशीन से सभी डिपेंडेंसी को कंटेनर की ऐप डायरेक्टरी में ले जाता है।
  • RUN pip install --no-cache-dir -r requirements.txt: requirements.txt में दी डिपेंडेंसी इंस्टॉल करता है।
  • COPY . . : वर्तमान कार्य-निर्देशिका का कोड (ऐप्स, कॉन्फ़िग फाइलें, आदि) कंटेनर की ऐप डायरेक्टरी में कॉपी करता है।
  • CMD ["python", "app.py"]: इस इमेज से कंटेनर शुरू करते समय app.py चलाता है।

चरण 1. Dockerfile बनाएं 

आइए देखें कि इस Dockerfile को बिल्ड करने पर क्या होता है।

  • निम्न कमांड चलाएं:
docker build -t my-python-app .

नोट: इस कमांड के काम करने के लिए, पहले आपके सिस्टम में Docker सेटअप होना चाहिए; यह गाइड इसमें आपकी मदद करता है।

टर्मिनल में docker build -t my-python-app के निष्पादन के परिणाम दिखाती इमेज।

जब आप बिल्ड कमांड चलाते हैं, तो पर्दे के पीछे यह होता है:

  1. Docker, Dockerfile को पढ़ता है
  2. Python बेस इमेज Docker Hub से पुल होती है
  3. वर्किंग डायरेक्टरी /app सेट होती है।
  4. requirements.txt कंटेनर में कॉपी होती है।
  5. pip install का उपयोग करके डिपेंडेंसी इंस्टॉल होती हैं।
  6. आपका शेष कोड /app में कॉपी होता है।
  7. अंतिम इमेज को my-python-app के रूप में टैग किया जाता है।

चरण 2: Dockerfile चलाएं

एक बार आपकी इमेज बन जाए,  आप इसे इस तरह चला सकते हैं:

docker run -p 5000:5000 my-python-app

जब आप इसे चलाते हैं तो यह होता है: 

  • आपकी कस्टम इमेज my-python-app से एक नया कंटेनर बनाया जाता है।
  • आपकी मशीन का पोर्ट 5000 कंटेनर के पोर्ट 5000 से मैप होता है (-p 5000:5000)।
  • CMD ["python", "app.py"] चलाया जाता है और ऐप निष्पादित होता है।
  • कंटेनर बैकग्राउंड में चलता है क्योंकि -d विकल्प (डिटैच्ड मोड) है।

इस समय, आप अपने ब्राउज़र में http://localhost:5000 खोल सकते हैं, और आपको निम्न जैसा कुछ दिखाई देगा, जिसका अर्थ है कि आपका एप्लिकेशन चल रहा है:

http://localhost:5000 पर ब्राउज़र का स्क्रीनशॉट जिसमें

यदि आप मशीन लर्निंग में काम कर रहे हैं, तो ये ML और AI के लिए शीर्ष Docker इमेज आपका एनवायरनमेंट सेटअप तेज कर सकती हैं।

कॉन्फ़िगरेशन के साथ इमेज चलाना

कुछ एप्लिकेशन के लिए, आपको किसी विशिष्ट कॉन्फ़िगरेशन के साथ इमेज चलाने की आवश्यकता हो सकती है। यहाँ दो आम उदाहरण हैं।

डेटा को स्थायी बनाना

कंटेनर अस्थायी रूप से डेटा स्टोर करते हैं। एक बार उन्हें डिलीट करने पर डेटा चला जाता है। वॉल्यूम, कंटेनर के बाहर डेटा स्टोर करने का तरीका है ताकि कंटेनर हटाए या रीस्टार्ट होने पर भी वह बना रहे।

वॉल्यूम माउंट करने के लिए, आपको निम्न जैसा कमांड चलाना होगा:

docker run -v my-volume:/app/data my-image

/app/data में लिखा डेटा कंटेनर हटने के बाद भी वॉल्यूम में सेव रहता है।

एनवायरनमेंट वेरिएबल्स पास करना

एनवायरनमेंट वेरिएबल्स रनटाइम पर Docker कंटेनर को कॉन्फ़िगरेशन सेटिंग्स पास करते हैं। इससे आप Docker इमेज बदले बिना कंटेनर को कस्टमाइज़ कर सकते हैं। 

एनवायरनमेंट वेरिएबल्स पास करने के दो तरीके हैं: 

  1. आप -e पैरामीटर का उपयोग करके एनवायरनमेंट वेरिएबल्स पास कर सकते हैं। यहाँ एक उदाहरण कमांड है:
docker run -e ENV=production -e DEBUG=False my-image
  1. आप सभी एनवायरनमेंट वेरिएबल्स के साथ एक .env फाइल बना सकते हैं और उसे कमांड को पास कर सकते हैं। उदाहरण:
docker run --env-file .env my-image

नमूना .env फाइल:

ENV=staging
DEBUG=True
SECRET_KEY=mysecret

चल रहे कंटेनर प्रबंधित करना

एक बार कंटेनर चल रहा हो, आप उसे देख, रोक, और एक्सेस कर सकते हैं। आइए देखें यह कैसे करें।

सक्रिय कंटेनर देखना

अपने सिस्टम पर चल रहे सभी सक्रिय Docker कंटेनरों की सूची देखने के लिए, docker ps कमांड या docker container ls चलाएँ। यह कमांड कंटेनर ID, इमेज, कमांड, पोर्ट, स्टेटस, और अन्य विवरण दिखाती है।

docker ps
# or
docker container ls

सभी कंटेनर शामिल करने के लिए — केवल चल रहे ही नहीं — जैसे कि जो एग्जिट हो चुके हैं या बनाए गए हैं पर शुरू नहीं हुए, -a फ्लैग का उपयोग करें:

docker ps -a

सिर्फ सबसे हाल में बनाए गए कंटेनर को देखने के लिए, -l (last) फ्लैग का उपयोग करें:

docker ps -l

यदि आप सभी कंटेनरों को निर्माण समय के अनुसार सॉर्ट करके देखना चाहते हैं, जिसमें सबसे हाल का पहले सूचीबद्ध हो, तो यह चलाएँ:

docker ps -a --sort=created

कंटेनर रोकना और हटाना

किसी विशिष्ट चल रहे कंटेनर को रोकने के लिए, docker stop कमांड के बाद कंटेनर ID या नाम का उपयोग करें:

docker stop <container_id_or_name>

सभी चल रहे कंटेनर रोकने के लिए, यह चलाएँ:

docker stop $(docker ps -q)
  • $(docker ps -q) सभी चल रहे कंटेनरों के ID की सूची देता है।

कंटेनर रुक जाने के बाद, आप उसे इस तरह हटा सकते हैं:

docker rm <container_id_or_name>

सभी रुके हुए कंटेनर हटाने के लिए, यह चलाएँ:

docker container prune

और आगे बढ़कर अप्रयुक्त कंटेनर, वॉल्यूम, नेटवर्क और इमेज हटाने के लिए, Docker prune गाइड देखें।

कंटेनर लॉग और शेल तक पहुँचना

  • docker logs - docker logs कमांड निष्पादन समय पर मौजूद लॉग को बैच में प्राप्त करता है।
  • docker exec - docker exec आपको किसी चल रहे कंटेनर के अंदर बिना उसे रोके या रीस्टार्ट किए नया कमांड चलाने देता है। इसे ऐसे समझें जैसे आप अपने कंटेनर के अंदर नया टर्मिनल खोल रहे हों — ताकि आप इधर-उधर देख सकें, स्क्रिप्ट चला सकें, लॉग जाँच सकें, या डीबग कर सकें।
  • docker attach - docker attach आपके टर्मिनल को सीधे किसी चल रहे कंटेनर की मुख्य प्रक्रिया से जोड़ता है। इसका मतलब है कि आप कंटेनर का लाइव आउटपुट (लॉग, प्रॉम्प्ट आदि) देख सकते हैं और यदि प्रक्रिया इनपुट स्वीकार करती है तो उससे इंटरैक्ट भी कर सकते हैं।

आम समस्याओं का ट्रबलशूटिंग

आम समस्याओं के सरल समाधान। यहाँ Docker इमेज चलाते समय आने वाली कुछ सामान्य त्रुटियाँ और उन्हें हल करने के तरीके दिए गए हैं। 

त्रुटि 1: “Error response from daemon: pull access denied for alpine-python, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied.”

  • मतलब: Docker ने एक इमेज पुल करने की कोशिश की, इस मामले में alpine-python इमेज Docker Hub से, लेकिन इमेज मौजूद नहीं है या प्राइवेट है, और आप ऑथेंटिकेटेड नहीं हैं।
  • कैसे ठीक करें:
    • Docker Hub पर इमेज का नाम और टैग दोबारा जाँचें।
    • यदि यह प्राइवेट इमेज है, तो ऑथेंटिकेट करने के लिए docker login चलाएँ।
    • यदि आप कस्टम रजिस्ट्री से पुल कर रहे हैं, तो सुनिश्चित करें कि इमेज मौजूद है।

त्रुटि 2: “No such image found: <image-name>:<tag>”

  • मतलब: आपने लोकली कोई इमेज चलाने या टैग करने की कोशिश की, लेकिन इमेज (या दिया गया टैग) आपके सिस्टम पर उपलब्ध नहीं है।
  • कैसे ठीक करें:
    • उपलब्ध इमेज देखने के लिए docker images का उपयोग करें।
    • इमेज को स्पष्ट रूप से पुल करें:
docker pull <image-name>:<tag>

त्रुटि 3: “manifest for <image>:<tag> not found: manifest unknown: The named manifest is not known to the registry.”

  • मतलब: यह त्रुटि तब आती है जब निर्दिष्ट इमेज या टैग मौजूद नहीं होता।
  • संभावित समाधान: ये टिप्स अधिकतर सामान्य त्रुटियों को ठीक कर देंगी: 
    • सही इमेज और टैग नाम की पुष्टि करें।
    • Docker Hub या अपनी कस्टम रजिस्ट्री पर इमेज के टैग देखें।
    • मान्य संस्करण लाने के लिए docker pull <image>:<tag> का उपयोग करें।
    • यदि लोकली बिल्ड कर रहे हैं, तो सही Dockerfile उपयोग करें और इमेज को इस तरह बिल्ड करें:
docker build -t <image>:<tag> .

पोर्ट कॉन्फ्लिक्ट और बाइंड फेल्योर

पोर्ट कॉन्फ्लिक्ट तब होते हैं जब एक से अधिक कंटेनर या कोई कंटेनर और कोई अन्य एप्लिकेशन एक ही पोर्ट तक पहुँचने की कोशिश करते हैं।

  • कैसे ठीक करें:
    • कंटेनर चलाते समय अलग होस्ट पोर्ट का उपयोग करें:
docker run -p 8081:80 <image>
  • वर्तमान में पोर्ट उपयोग कर रही सेवा को रोकें।
  • क्या चीज़ पोर्ट (उदा., 8080) उपयोग कर रही है, यह पहचानें:
lsof -i :8080

निष्कर्ष 

Docker इमेज चलाना कंटेनरों के उपयोग में सबसे महत्वपूर्ण और सशक्तिकरण वाले चरणों में से एक है, चाहे आप कोई साधारण वेब सर्वर स्पिन-अप कर रहे हों या एक जटिल एप्लिकेशन डिप्लॉय कर रहे हों। कुछ ही कमांड जैसे docker run, docker ps, और docker stop के साथ, अब आप आत्मविश्वास से कंटेनर लॉन्च, प्रबंधित और ट्रबलशूट कर सकते हैं।

यदि आप और आगे बढ़ने के लिए तैयार हैं, तो Dockerfile के साथ अपनी खुद की इमेज बनाकर देखें, उन्नत docker run फ्लैग्स एक्सप्लोर करें, या Docker Compose के साथ कई कंटेनरों का प्रबंधन करना सीखें।

अपनी Docker यात्रा जारी रखने के लिए ये कोर्स देखें:

  • Intermediate Docker: उन्नत इमेज प्रबंधन, वॉल्यूम्स, और मल्टी-कंटेनर एप्लिकेशन सीखें।
  • Containerization and Virtualization Concepts: कंटेनरों के पीछे का सिद्धांत और वे वर्चुअल मशीनों से कैसे अलग हैं, समझें।
  • Containerization and Virtualization with Docker and Kubernetes: Docker में महारत हासिल करने और Kubernetes शुरू करने के लिए पूर्ण लर्निंग ट्रैक।

FAQs

क्या मैं एक ही Docker इमेज से कई कंटेनर चला सकता/सकती हूँ?

हाँ, आप एक ही इमेज से कई कंटेनर चला सकते हैं। प्रत्येक कंटेनर आइसोलेटेड होता है और उसके अपने सेटिंग्स, पोर्ट्स, और एनवायरनमेंट वेरिएबल्स हो सकते हैं।

मैं सीक्रेट्स या API कीज़ को सुरक्षित रूप से Docker कंटेनर में कैसे पास करूँ?

रनटाइम पर सीक्रेट्स पास करने के लिए -e फ्लैग से एनवायरनमेंट वेरिएबल सेट करें या .env फाइल और --env-file का उपयोग करें ताकि हार्डकोडिंग से बचा जा सके।

मैं Docker इमेज को बैकग्राउंड में कैसे चलाऊँ?

टर्मिनल को अन्य कमांड के लिए उपलब्ध रखते हुए कंटेनर को बैकग्राउंड में शुरू करने के लिए docker run के साथ -d फ्लैग का उपयोग करें।

docker exec और docker attach में क्या अंतर है?

 docker exec कंटेनर के भीतर नया शेल सत्र खोलता है, जबकि docker attach कंटेनर की मुख्य प्रक्रिया और उसके लाइव आउटपुट से जोड़ता है।

इमेज चलाते समय मुझे 'pull access denied' त्रुटि क्यों मिलती है?

यह आमतौर पर दर्शाता है कि इमेज प्राइवेट है या गलत लिखी गई है। नाम, टैग जाँचें और docker login के साथ Docker Hub में लॉग इन होना सुनिश्चित करें।

कंटेनर रुकने के बाद मैं डेटा को कैसे स्थायी रखूँ?

डेटा को कंटेनर के बाहर स्टोर करने और कंटेनर हटने के बाद भी सुरक्षित रखने के लिए -v फ्लैग से वॉल्यूम माउंट करें।

डेवलपमेंट उद्देश्यों के लिए कंटेनर चलाने का सबसे अच्छा तरीका क्या है?

डेवलपमेंट के लिए -it फ्लैग्स से इंटरएक्टिव मोड उपयोग करें, साथ में वॉल्यूम माउंटिंग और एनवायरनमेंट वेरिएबल्स ताकि लोकल डेवलपमेंट जैसा माहौल बने।

मैं अपनी मशीन पर कौन-से पोर्ट कॉन्फ़्लिक्ट कर रहे हैं, यह कैसे पता करूँ?

कौन-सा प्रोसेस किसी विशेष पोर्ट का उपयोग कर रहा है यह जानने के लिए lsof -i :<port> का उपयोग करें, फिर उसे रोकें या अपने कंटेनर के लिए अलग होस्ट पोर्ट चुनें।

मैं चल रहे Docker कंटेनर से लॉग कैसे देखूँ?

चलते कंटेनर के स्टैंडर्ड आउटपुट और एरर स्ट्रीम से लॉग प्राप्त और समीक्षा करने के लिए docker logs <container_id> कमांड का उपयोग करें।

Srujana Maddula

लेखक

Srujana Maddula

Srujana चार-वर्षीय कंप्यूटर साइंस डिग्री के साथ एक फ्रीलांस टेक राइटर हैं। डेटा साइंस, क्लाउड कंप्यूटिंग, डेवलपमेंट, प्रोग्रामिंग, सुरक्षा, और अन्य कई विषयों पर लिखना उनके लिए स्वाभाविक है। उन्हें शास्त्रीय साहित्य से प्रेम है और नए स्थानों की खोज करना पसंद है।

विषय