Docker
Dockerfile सामग्री ऑर्डर कर रहा है
खोज…
टिप्पणियों
- आधार छवि घोषणा (
FROM
) - मेटाडेटा (जैसे
MAINTAINER
,LABEL
) - सिस्टम निर्भरता स्थापित करना (जैसे
apt-get install
,apk add
) - एप्लिकेशन निर्भरता फ़ाइल की प्रतिलिपि बनाना (उदा।
bower.json
,package.json
,build.gradle
,requirements.txt
build.gradle
) - एप्लिकेशन निर्भरताएं स्थापित करना (जैसे
npm install
,pip install
) - संपूर्ण कोड आधार की प्रतिलिपि बनाना
- डिफ़ॉल्ट क्रम कॉन्फ़िगरेशन की स्थापना (जैसे
CMD
,ENTRYPOINT
,ENV
,EXPOSE
)
ये आदेश डॉकर के अंतर्निहित कैशिंग तंत्र का उपयोग करके बिल्ड समय के अनुकूलन के लिए किए गए हैं।
अंगूठे का नियम:
वे भाग जो अक्सर बदलते रहते हैं (जैसे कोडबेस) को डॉकरफाइल के नीचे और इसके विपरीत रखा जाना चाहिए। ऐसे हिस्से जो शायद ही कभी बदलते हैं (जैसे निर्भरताएं) शीर्ष पर रखा जाना चाहिए।
सरल डॉकरफाइल
# Base image FROM python:2.7-alpine # Metadata MAINTAINER John Doe <[email protected]> # System-level dependencies RUN apk add --update \ ca-certificates \ && update-ca-certificates \ && rm -rf /var/cache/apk/* # App dependencies COPY requirements.txt /requirements.txt RUN pip install -r /requirements.txt # App codebase WORKDIR /app COPY . ./ # Configs ENV DEBUG true EXPOSE 5000 CMD ["python", "app.py"]
MAINTAINER को डॉकटर 1.13 में पदावनत किया जाएगा, और LABEL का उपयोग करके प्रतिस्थापित किया जाना चाहिए। ( स्रोत )
उदाहरण: LABEL Maintainer = "John Doe [email protected]"
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow