खोज…


टिप्पणियों

  1. आधार छवि घोषणा ( FROM )
  2. मेटाडेटा (जैसे MAINTAINER , LABEL )
  3. सिस्टम निर्भरता स्थापित करना (जैसे apt-get install , apk add )
  4. एप्लिकेशन निर्भरता फ़ाइल की प्रतिलिपि बनाना (उदा। bower.json , package.json , build.gradle , requirements.txt build.gradle )
  5. एप्लिकेशन निर्भरताएं स्थापित करना (जैसे npm install , pip install )
  6. संपूर्ण कोड आधार की प्रतिलिपि बनाना
  7. डिफ़ॉल्ट क्रम कॉन्फ़िगरेशन की स्थापना (जैसे 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