FastAPI अनुप्रयोगों को Docker कंटेनर में डालना
Docker का उपयोग करके अपनी FastAPI सेवा को कंटेनर में पैक करना सीखें और कुशल, पोर्टेबल परिनियोजन इमेज बनाएँ।
FastAPI अनुप्रयोगों को Docker कंटेनर में डालना, CoddyKit पर FastAPI बैकएंड डेवलपमेंट बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह FastAPI बैकएंड डेवलपमेंट बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। FastAPI बैकएंड डेवलपमेंट बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
डॉकर और FastAPI: कंटेनरीकरण क्यों करें?
स्वागत है! इस पाठ में हम सीखेंगे कि डॉकर का उपयोग करके अपने FastAPI अनुप्रयोग को पैकेज कैसे करें। इससे आपका ऐप बेहद सुसंगत हो जाता है और उसे कहीं भी तैनात करना आसान हो जाता है।
- डॉकर क्या है? यह एक ऐसा प्लेटफ़ॉर्म है जो कंटेनर कहलाने वाले पैकेज में सॉफ़्टवेयर उपलब्ध कराने के लिए OS-स्तरीय वर्चुअलाइज़ेशन का उपयोग करता है।
- FastAPI के लिए इसका उपयोग क्यों करें? यह आपके ऐप और उसकी निर्भरताओं को एक साथ पैकेज करके "मेरी मशीन पर तो यह काम करता है" वाली समस्या हल करता है।
डॉकर का आधार: इमेज और कंटेनर
डॉकर में पैकेज करने से पहले, आइए दो महत्वपूर्ण अवधारणाओं को समझें:
- डॉकर इमेज: इमेज को किसी खाके या साँचे की तरह समझें। यह एक स्थिर, अपरिवर्तनीय file है जिसमें आपके अनुप्रयोग का कोड, लाइब्रेरी, निर्भरताएँ और कॉन्फ़िगरेशन शामिल होते हैं।
- डॉकर कंटेनर: कंटेनर किसी इमेज का चलने योग्य उदाहरण होता है। यह एक अलग-थलग परिवेश है जहाँ आपका अनुप्रयोग आपके होस्ट सिस्टम से पूरी तरह अलग चलाता है।
आप पहले एक इमेज बनाते हैं, फिर उससे एक कंटेनर चलाते हैं।
एक बुनियादी FastAPI सेवा
आइए एक सरल FastAPI अनुप्रयोग से शुरुआत करें, जिसे हम कंटेनर में चलाएँगे। इस file का नाम main.py होगा।
इसमें एक endpoint है, जो 'Hello' संदेश लौटाता है।
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello from FastAPI!"}
# To run locally (without Docker):
# uvicorn main:app --host 0.0.0.0 --port 8000Dockerfile: मज़बूत शुरुआत
Dockerfile एक text file है जिसमें वे सभी commands होती हैं जिन्हें कोई उपयोगकर्ता command line पर चलाकर एक इमेज तैयार कर सकता है। इमेज बनाने के लिए यह आपकी विधि है।
हम एक आधार इमेज चुनकर और अपनी कार्य निर्देशिका निर्धारित करके शुरुआत करते हैं:
FROM: आधार इमेज, जैसे Python का संस्करण, निर्दिष्ट करता है।WORKDIR: कंटेनर के अंदर वर्तमान कार्य निर्देशिका निर्धारित करता है।
# Dockerfile
FROM python:3.9-slim-buster
WORKDIR /appFastAPI निर्भरताएँ: requirements.txt
आपके FastAPI ऐप को चलने के लिए विशिष्ट Python पैकेजों की आवश्यकता होती है। हम इन्हें requirements.txt file में सूचीबद्ध करते हैं। यह file डॉकर को बताती है कि कंटेनर के अंदर कौन से पैकेज इंस्टॉल करने हैं।
हमारे सरल FastAPI ऐप के लिए सामान्य requirements.txt यहाँ दिया गया है:
# requirements.txt
fastapi==0.104.1
uvicorn[standard]==0.24.0.post1Dockerfile: निर्भरताएँ इंस्टॉल करना
अब इन निर्भरताओं को कॉपी और इंस्टॉल करने के लिए अपने Dockerfile में commands जोड़ते हैं:
COPY requirements.txt .: आपके स्थानीय कंप्यूटर सेrequirements.txtको कंटेनर की/appनिर्देशिका में कॉपी करता है।RUN pip install ...:requirements.txtमें सूचीबद्ध सभी पैकेज इंस्टॉल करने वाली command चलाता है।--no-cache-dirइमेज का आकार छोटा रखने में मदद करता है।
# Dockerfile (continued)
FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txtDockerfile: ऐप का कोड और प्रवेश-बिंदु
अंत में, हम अपने अनुप्रयोग का कोड जोड़ते हैं और डॉकर को बताते हैं कि उसे कैसे चलाना है:
COPY . .: आपकी वर्तमान निर्देशिका की सभी शेष files, जिनमेंmain.pyभी शामिल है, कंटेनर की/appनिर्देशिका में कॉपी करता है।EXPOSE 8000: डॉकर को बताता है कि कंटेनर पोर्ट 8000 पर सुनता है। यह दस्तावेज़ीकरण है, फ़ायरवॉल नियम नहीं।CMD [...]: कंटेनर शुरू होने पर चलने वाली command निर्दिष्ट करता है। इसी तरह Uvicorn आपके FastAPI ऐप को सेवा देगा।
# Dockerfile (final)
FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]अपनी डॉकर इमेज बनाना
आपका Dockerfile और FastAPI ऐप तैयार है, अब डॉकर इमेज बनाने का समय है!
अपने Dockerfile और main.py वाली directory में terminal खोलें, फिर यह command चलाएँ:
docker build .: डॉकर को वर्तमान directory में मौजूद Dockerfile का उपयोग करके इमेज बनाने के लिए कहता है।-t myfastapi-app: आसान संदर्भ के लिए इमेज को एक नाम (myfastapi-app) देता है।
# Terminal Command
docker build -t myfastapi-app .अपना FastAPI कंटेनर चलाना
इमेज बन जाने के बाद, आप अपने FastAPI अनुप्रयोग को कंटेनर में चला सकते हैं!
docker run command का उपयोग करें:
-p 8000:8000: आपके होस्ट कंप्यूटर के पोर्ट 8000 को कंटेनर के अंदर वाले पोर्ट 8000 से जोड़ता है।myfastapi-app: अभी बनाई गई इमेज का नाम।
चलाने के बाद, अपना ब्राउज़र खोलें या curl का उपयोग करके http://localhost:8000 पर जाएँ।
# Terminal Command
docker run -p 8000:8000 myfastapi-appडॉकर Compose का परिचय
कई सेवाओं वाले अनुप्रयोगों, जैसे FastAPI ऐप और डेटाबेस, के लिए डॉकर Compose प्रबंधन को सरल बनाता है। यह आपको YAML file का उपयोग करके कई-कंटेनर वाले डॉकर अनुप्रयोगों को परिभाषित और चलाने देता है।
कई docker run commands चलाने के बजाय, आप सब कुछ docker-compose.yml में परिभाषित करते हैं और docker-compose up का उपयोग करते हैं।
# docker-compose.yml (simplified)
version: '3.8'
services:
web:
build: .
ports:
- "8000:8000"Dockerfile command की जाँच
आपकी स्थानीय मशीन से files या directories को डॉकर इमेज में कॉपी करने के लिए कौन-सी Dockerfile command उपयोग की जाती है?
पुनरावलोकन: एक डिब्बे में FastAPI!
बहुत अच्छा! आपने अपने FastAPI अनुप्रयोग को डॉकर में पैकेज करने की मूल बातें सीख ली हैं। हमने ये विषय कवर किए:
- डॉकर इमेज और कंटेनर के बीच का अंतर।
FROM,WORKDIR,COPY,RUN,EXPOSEऔरCMDजैसी commands वाले Dockerfile लिखना।- डॉकर कंटेनर में अपने FastAPI ऐप को बनाना और चलाना।
- बहु-सेवा वाले ऐप के लिए डॉकर Compose का संक्षिप्त परिचय।
सुसंगत और विस्तार योग्य परिनियोजन के लिए यह कौशल अत्यंत महत्वपूर्ण है!
एआई शिक्षक के साथ FastAPI बैकएंड डेवलपमेंट बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 21
- पाठ
- 84
अक्सर पूछे जाने वाले प्रश्न
क्या “FastAPI अनुप्रयोगों को Docker कंटेनर में डालना” पाठ निःशुल्क है?
हाँ — FastAPI बैकएंड डेवलपमेंट बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “FastAPI अनुप्रयोगों को Docker कंटेनर में डालना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। FastAPI बैकएंड डेवलपमेंट बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“FastAPI अनुप्रयोगों को Docker कंटेनर में डालना” में मैं क्या सीखूँगा?
Docker का उपयोग करके अपनी FastAPI सेवा को कंटेनर में पैक करना सीखें और कुशल, पोर्टेबल परिनियोजन इमेज बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ FastAPI बैकएंड डेवलपमेंट बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या FastAPI बैकएंड डेवलपमेंट बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर FastAPI बैकएंड डेवलपमेंट बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“FastAPI अनुप्रयोगों को Docker कंटेनर में डालना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस FastAPI बैकएंड डेवलपमेंट बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर FastAPI बैकएंड डेवलपमेंट बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- FastAPI अनुप्रयोगों को Docker कंटेनर में डालना
- Gunicorn और Uvicorn के साथ परिनियोजन
- क्लाउड परिनियोजन रणनीतियाँ
- पर्यावरण चर और गुप्त मानों का प्रबंधन