ملٹی سٹی ڈکر عمارت کیا ہیں؟

ملي ای میل ڈكر ميں وه خصوصیت ہے جو ڈكر 17.05 ميں داخل ہوئی ہے جس سے آپ ايک وقت کے اندر متعدد بیانات استعمال کر سکتے ہیں۔ [1] [1] تعلیم نئے مرحلے کا آغاز کرتی ہے، جو اپنا مصدر رکھتا ہے، ڈريٴے کو وهي طور پر ایک دوسرے سے جا سکتا هے جب کہ ختم کر نے کے ليے اس فا ئل کو ختم کر نے کے ليے سوائے اس کے کہ فاضل فا ئل ، پلگي ، پلگي ، عبادتي ، ڈرا ئيں اور اس پر انحصارياب کو ختم کر نے کے ليے ، شامل کر نے کے ليے اور ان پر paptس کو آسان کر نے کے ليے فا ئل کو آسان کر نے کے ليے ، شامل کر نے کے ليے ،

بنیادی تصور یہ ہے کہ runme کے ماحول سے ماحول کو الگ کرنا ہے. ایک مخصوص اکائی کی ترکیب میں ایک ترقی یافتہ تمام آلات (مثلاً، پیکج مینیجرز، ٹیسٹ فریم ورک) کو اسی تصویر میں استعمال کیا جائے گا جو تصویر کو استعمال کرے گا اور حملہ آور سطح کے لیے اضافہ کرے گا. ملطین یہ ایک گھنی، تصویر اور پھر نقل کرنے کے لیے صرف چلائیں : [T2]

ملتان-سٹیج کے فوائد

کثیر التعداد مصنوعات کو وصول کرنے کے فوائد معمولی پیمانے پر کم سے زیادہ تک جاتے ہیں۔ان کا تحفظ، برقرار رکھنے کی صلاحیت اور ان کی رفتار پر گہرا اثر ہوتا ہے۔

1. تصویر حجم کو مرتب کریں

بسا اوقات خامرے کو ختم کرنے سے اکثر پچاس% سے 90% تک سستے تصویریں بناتے ہیں۔ مثلاً نوے.js اطلاقیہ مکمل طور پر استعمال کرتے ہوئے تصویر (انگریزی:

۲ ۔ ۲ ۔

ہر نصب کردہ پیکج یا ٹول کسی برتن میں موجود ایک ممکنہ طور پر vulnerbility ہے. ملتان آپ کو آخری تصویر سے structures, struction کی لیبارٹری بنانے، حملہ کی سطح کو بہت کم کرنے کے قابل بناتا ہے. یا پھر آپ اسٹیج کے لیے بھی استعمال کرسکتے ہیں، جس میں صرف اطلاقیہ کو ختم کرنے کے لیے کچھ کم ہی کم ہے۔

۳ : والدین اپنے بچوں کی پرورش کیسے کر سکتے ہیں ؟

تمام ساختیں ایک دوکرفل میں طے کی جاتی ہیں، جس سے طریقہ کار خودبخود اور آسان ہو جاتا ہے. سی آئی/سی ڈی پائپ لائنوں کو ایک واحد داخلی نقطہ سے فائدہ ہوتا ہے: Deckerfile. الگ الگ اسکرپٹ یا دستی صفائی کے مراحل کو برقرار رکھنے کی ضرورت نہیں۔

4۔ اننگز میں دوبارہ رد عمل اور ضمنی کردار ادا کیا گیا۔

چونکہ پورا عمارت ایک دوکرافٹ میں پکڑا جاتا ہے اس لیے کوئی بھی ترقی یافتہ یا نظام بالکل اسی طرح کے خلیات کو دوبارہ پیدا کر سکتا ہے۔مریخ پر موجود مخصوص نسخے کے ٹیگ کا استعمال بنیادوں کے لیے مزید معلومات کے لیے ٹھوس بنیادوں پر ماحول کو مستحکم بنانے کی ضمانت دیتا ہے۔

ایک ملٹی اسٹیج ڈکارفل: اسٹ از اسٹ کی تعمیر

یہ سالک کسی بھی مجموعی زبان کے لئے پیداواری طور پر استعمال ہونے والی کثیر‌التعداد دُنیا کی تخلیق کا احاطہ کرتا ہے ۔

۱ : اپنے آپ کو مضبوط بنائیں

اِس کے علاوہ اِس کے لیے اِس کے دو مرحلے بھی ہیں :

  • معمار سٹیج – تمام تر تعمیراتی آلات، تنصیبات اور تعمیری کمانڈ چلاتے ہیں۔
  • Estruction Staff – ایک کم از کم بنیاد والی تصویر استعمال کریں، صرف معمار سٹیج سے بنے ہوئے فن پارے ہی نقل کریں اور رنمنٹ طرز عمل کی وضاحت کریں۔

آپ امتحان ، کمپیوٹر تجزیہ یا سرمایہ‌کاری کے لئے درمیانی مراحل میں بھی شامل کر سکتے ہیں ۔

2۔ معمار سٹیج لکھ دیں۔

بنیادی تصویر سے شروع کریں جس میں مطلوبہ آلات (fLT:0) شامل ہیں [fompos]]] کے ساتھ ساتھ someing system ان کا حوالہ دینے کے لیے بعد میں آنے والے حوالے کرنے کے لیے . کے لیے:

FROM node:14-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

کلیدی نکات:

  • استعمال کریں .
  • جب لیورٹیج کیچ ممکن ہو تو الگ خلیات کے طور پر احکام جاری کریں۔
  • اس مرحلے میں صرف آلات بنانے کی سہولت (جیسے ٹائپ ایسکرپٹ، ویب اپپ)۔

3۔ انٹرمیڈیٹ ٹیسٹ سٹیج (Optional) کو شامل کریں۔

کوڈ کی خوبی کو مرتب کرنے کے لیے کسی سٹیج کو شامل کریں جو امتحانات چلا رہا ہو۔اس مرحلے میں معمار تصویر کو دوبارہ ترتیب دے سکتا ہے یا اضافی آلات نصب کر سکتا ہے کیونکہ یہ آخری مرحلہ نہیں ہے، ٹیسٹ ناکامیاں حتمی تصویر میں موجود نہیں ہوں گی۔

FROM builder AS test
RUN npm run test

آپ اس مرحلے کو اپنی سی آئی لائن میں کے ساتھ چلایا جا سکتا ہے تاکہ ابتدائی طور پر ناکام تصویر بنانے کے لئے تمام آخری تصویر تعمیر کیے جا سکیں۔

۴ : دوڑ میں بہتری

ایک غیر جانبدار اطلاق کے لیے، ری میک تصویر Nginx سرور ہو سکتا ہے۔

FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

اگر آپکو نوے.js دوڑنے کی ضرورت ہے تو معمار سے نقل کرنے سے گریز کریں ؛ اس کے بجائے ری ایکٹر کی صنعت کے لیے ری ایکٹر اسٹیج میں دوبارہ سے تیار کیے گئے

FROM node:14-alpine AS runtime
WORKDIR /app
COPY --from=builder /app/dist ./dist
RUN npm ci --only=production
EXPOSE 3000
CMD ["node", "dist/server.js"]

5۔ تصویر بنائیں اور آزما لیں۔

معیاری کمانڈ استعمال کرتے ہوئے آخری تصویر بنائیں:

docker build -t myapp:latest .

حجم کی تصدیق کے لیے، چلاو اور ایک ⁇ کے مقابلے میں موازنہ کرنا۔ سانچہ کو بھاگو اور درخواست کا صحیح جواب دیں:

docker run -d -p 8080:80 myapp:latest
curl http://localhost:8080

ملتان-اسٹیج کے لیے بہترین مشقیں

  • مخصوص بصری تخط ⁇ – سے گریز کریں تاکہ حیرت کو روکنے کے لیے. Prefer یا ۔
  • [Optimize cele Caching – نقل اور سے پہلے کے ماخذ کوڈ سے پہلے تاکہ کی تہہ صرف تب ہی ختم ہو جائے جب graphic change.
  • [Leverage settleKit – قابل تعمیر کے ساتھ ساتھ تیزی سے تعمیر، لائن کیچ اور بہتر متوازنیت۔
  • مختلف ماحول کے لیے کئی حتمی مراحل – مثال کے طور پر، ایک ارتقائی مرحلہ جس میں ایک سخت بنیاد کے ساتھ ساتھ ایک مصنوعی شکل کا ہے۔
  • ] کے لیے آپ میں رہ کر زندگی بسر کرنے اور سرچ میپ حاصل کرنے کے لئے سٹیج پر رک سکتے ہیں، پھر کے ساتھ مل کر پیداوار کے لیے دوبارہ تعمیر کر سکتے ہیں۔
  • تصاویر سے چھپے رہو – استعمال کار معماری کیٹ اگر آپ کو لیاقتوں کے دوران میں گزرنے کی ضرورت ہے تو انہیں کبھی بھی حتمی تصویر میں شامل نہ کیا جائے۔

عام طور پر مقدمات اور استعمال کیس

زبانوں کو مجموعی طور پر (گو، روسٹ، سی++)۔

servation binaries کے لیے، runtime stree استعمال کر سکتے ہیں، (بزبان بصری)، صرف بینری اور شاید sound فائل نقل کی جاتی ہے. مثال کے طور پر:

FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -o myapp .

FROM scratch
COPY --from=builder /app/myapp /myapp
ENTRYPOINT ["/myapp"]

پا پا ئین ایپلیکیشنز

ایک معمار سٹیج کے ساتھ استعمال کریں تاکہ پلگ انس کو نصب کریں اور کسی بھی C فضاء کو نصب کریں، پھر صرف تنصیب کردہ پیکجوں کو ہی روٹس اسٹیج پر کاپی کریں:

FROM python:3.11-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt
COPY . .

FROM python:3.11-slim
COPY --from=builder /root/.local /root/.local
COPY --from=builder /app /app
ENV PATH=/root/.local/bin:$PATH
CMD ["python", "app.py"]

ایم‌ایم‌ایس سروس سے رابطہ

ایک دوكريف ميں فرنٹي اور بیکي بنا ئيں

FROM node:14-alpine AS frontend-builder
WORKDIR /app
COPY frontend/package*.json ./
RUN npm ci
COPY frontend/ .
RUN npm run build

FROM node:14-alpine AS api-builder
WORKDIR /app
COPY api/package*.json ./
RUN npm ci
COPY api/ .
RUN npm run build

FROM node:14-alpine
WORKDIR /app
COPY --from=frontend-builder /app/build ./public
COPY --from=api-builder /app/dist ./dist
RUN npm ci --only=production
EXPOSE 3000
CMD ["node", "dist/server.js"]

مشکلات کے باعث ملتان کی اسٹیج تعمیر

  • Layer Caching نہیں کام کر رہا – سرچ کوڈ سے پہلے احکام کی ترتیب دینے کا حکم نامہ استعمال کریں .
  • Artisties نہیں پایا گیا[1] – میں موجود راستوں کی تصدیق کریں. معمار سٹیج کو مقررہ مقام پر پیداوار کرنا ہوگا استعمال کریں.
  • Secret spectage – کبھی بھی نقل نہ کریں پوری ڈائریکٹری جو یا ۔ Eplclily نقل صرف فائل درکار ہے۔
  • وسیع پیمانے پر ہونے والی کے باوجود Large آخری تصاویر – چیک کریں اگر آپ حادثاتی طور پر نقل کر رہے ہیں یا مکمل ماخذ۔ کو دیکھیں ۔

کُنَّا

ملي کي دك ڈاكر بنا نے کے ليے جدید سانچے کا ایک ذیلی خاکہ ہے ۔انہیں جہاز کو قابل بنا نے کے ليے ، امني تصوروں کو مضبوط کر نے کے ليے آپ ايک سا اندازه اور رن ميں توازن قائم کر سکتے هيں آپ نے سوچ کئي تهھ اور رے کو کئي طور پر حل کر کے ليے ، تصویر کو بہتر بنا سکتے هيں اور سوراخيٴن CI/CBrit کو حل کر نے کے ليے ، آپ پر صرف چند گنا فا ئل کو اور آپ کے سامنے والے نقش کر نے کے ليے طریقے آزما سکتے هيں آپ کو اس پر ضرب کر نے کے بعد کچھ کھا نے کے ليے اور آپ پرو فا ئل کو بڑھا ئيں

مزید تفصیل کے لیے [fofficial Decker million-Cousions] اور Deckerfile بہترین دستور کی ہدایت. Reportal Estory مثالیں بھی Dodker Library[FL5] میں موجود ہیں۔