ڈاکر کے ساتھ شروعات: اپنی ایپلیکیشن کو کنٹینرائز کرنے کا فوری طریقہ

2/18/2026
8 min read

ڈاکر کے ساتھ شروعات: اپنی ایپلیکیشن کو کنٹینرائز کرنے کا فوری طریقہ

ڈاکر جدید سافٹ ویئر کی ترقی اور تعیناتی کا ایک لازمی حصہ بن چکا ہے۔ اگرچہ Kubernetes کے بارے میں بحثیں بہت زیادہ ہیں، لیکن ڈاکر اب بھی بہت سی کمپنیوں کے لیے ایپلی کیشنز بنانے، جانچنے اور تعینات کرنے کا ایک ترجیحی ٹول ہے۔ یہ مضمون آپ کو ڈاکر کے ساتھ تیزی سے شروعات کرنے، اس کے بنیادی تصورات کو سمجھنے اور ایک عملی مثال فراہم کرے گا تاکہ آپ کو اپنی ایپلیکیشن کو کنٹینرائز کرنے میں مدد مل سکے۔

ڈاکر کے بنیادی تصورات

عملی طور پر شروع کرنے سے پہلے، ڈاکر کے کچھ بنیادی تصورات کو سمجھنا ضروری ہے:

  • امیج (Image): امیج ایک صرف پڑھنے والا ٹیمپلیٹ ہے، جس میں ایپلیکیشن کو چلانے کے لیے درکار ہر چیز شامل ہوتی ہے: کوڈ، رن ٹائم ماحول، سسٹم ٹولز، لائبریریاں اور انحصار۔ یہ ورچوئل مشین امیج سے ملتا جلتا ہے، لیکن زیادہ ہلکا پھلکا ہے۔

  • کنٹینر (Container): کنٹینر ایک امیج سے بنایا گیا ایک چلتا ہوا انسٹینس ہے۔ یہ امیج کا ایک رن ٹائم انسٹینس ہے، جس میں ایپلیکیشن اور اس کے تمام انحصار شامل ہیں۔ کنٹینرز ایک دوسرے سے الگ تھلگ ہیں، ان کے اپنے فائل سسٹم، عمل اور نیٹ ورک کی جگہ ہوتی ہے۔

  • ڈاکر ہب (Docker Hub): ڈاکر ہب ایک عوامی امیج ریپوزٹری ہے، جہاں سے آپ پہلے سے تیار کردہ امیجز ڈاؤن لوڈ کر سکتے ہیں، اور اپنی امیجز بھی اپ لوڈ کر سکتے ہیں۔ یہ GitHub کی طرح ہے، لیکن خاص طور پر ڈاکر امیجز کے لیے ہے۔

  • ڈاکر فائل (Dockerfile): ڈاکر فائل ایک ٹیکسٹ فائل ہے، جس میں ڈاکر امیج بنانے کے لیے تمام ہدایات شامل ہوتی ہیں۔ ڈاکر فائل لکھ کر، آپ امیج بنانے کے عمل کو خودکار بنا سکتے ہیں۔

  • ڈاکر کمپوز (Docker Compose): ڈاکر کمپوز ایک ایسا ٹول ہے جو ملٹی کنٹینر ڈاکر ایپلی کیشنز کو متعین اور چلانے کے لیے استعمال ہوتا ہے۔ یہ آپ کو YAML فائل کا استعمال کرتے ہوئے ایپلیکیشن کی سروسز کو ترتیب دینے کی اجازت دیتا ہے، اور پھر ایک ہی کمانڈ کے ساتھ تمام سروسز کو شروع یا بند کر دیتا ہے۔

ڈاکر کی تنصیب

سب سے پہلے، آپ کو ڈاکر انسٹال کرنے کی ضرورت ہے۔ ڈاکر مختلف آپریٹنگ سسٹمز کے لیے انسٹالیشن پیکجز فراہم کرتا ہے۔ ڈاکر کی سرکاری ویب سائٹ پر جائیں اور متعلقہ ہدایات پر عمل کرتے ہوئے انسٹال کریں۔

انسٹالیشن مکمل ہونے کے بعد، آپ docker --version کمانڈ چلا کر تصدیق کر سکتے ہیں کہ ڈاکر صحیح طریقے سے انسٹال ہوا ہے۔

ایک سادہ پائتھون ایپلیکیشن کو کنٹینرائز کرنا

ہم ایک سادہ پائتھون ایپلیکیشن بنائیں گے، اور اسے ڈاکر کا استعمال کرتے ہوئے کنٹینرائز کریں گے۔

1. پائتھون ایپلیکیشن بنائیں

app.py نامی ایک فائل بنائیں، جس میں درج ذیل کوڈ شامل ہو:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, Docker!"

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0')

یہ سادہ Flask ایپلیکیشن روٹ پاتھ / پر "Hello, Docker!" واپس کرے گی۔

2. requirements.txt فائل بنائیں

ایپلیکیشن Flask لائبریری پر منحصر ہے، ہمیں ان انحصاروں کا اعلان کرنے کے لیے ایک requirements.txt فائل بنانے کی ضرورت ہے۔

Flask

3. ڈاکر فائل بنائیں

Dockerfile نامی ایک فائل بنائیں، اور اس میں درج ذیل مواد شامل کریں:

# سرکاری پائتھون امیج کو بنیادی امیج کے طور پر استعمال کریں
FROM python:3.9-slim-buster

# کام کرنے والی ڈائریکٹری سیٹ کریں
WORKDIR /app

# requirements.txt فائل کو کام کرنے والی ڈائریکٹری میں کاپی کریں
COPY requirements.txt .

# انحصار انسٹال کریں
RUN pip install --no-cache-dir -r requirements.txt
```# ایپلیکیشن کوڈ کو ورکنگ ڈائریکٹری میں کاپی کریں
COPY app.py .

# پورٹ 5000 کو ظاہر کریں
EXPOSE 5000

# اسٹارٹ کمانڈ کی وضاحت کریں
CMD ["python", "app.py"]

Dockerfile کی وضاحت:

  • FROM python:3.9-slim-buster: بنیادی امیج کو Python 3.9 کا سلم ورژن بتاتا ہے۔
  • WORKDIR /app: کنٹینر کے اندر ورکنگ ڈائریکٹری کو /app پر سیٹ کرتا ہے۔
  • COPY requirements.txt .: موجودہ ڈائریکٹری سے requirements.txt فائل کو کنٹینر کی /app ڈائریکٹری میں کاپی کرتا ہے۔
  • RUN pip install --no-cache-dir -r requirements.txt: کنٹینر کے اندر pip کمانڈ چلا کر requirements.txt فائل میں بتائی گئی انحصار کو انسٹال کرتا ہے۔ --no-cache-dir پیرامیٹر امیج کے سائز کو کم کر سکتا ہے۔
  • COPY app.py .: موجودہ ڈائریکٹری سے app.py فائل کو کنٹینر کی /app ڈائریکٹری میں کاپی کرتا ہے۔
  • EXPOSE 5000: اعلان کرتا ہے کہ کنٹینر 5000 پورٹ پر سنے گا۔
  • CMD ["python", "app.py"]: کنٹینر کے شروع ہونے پر چلنے والی کمانڈ کی وضاحت کرتا ہے۔

4. ڈاکر امیج بنائیں

Dockerfile پر مشتمل ڈائریکٹری میں، ڈاکر امیج بنانے کے لیے درج ذیل کمانڈ چلائیں:

docker build -t my-python-app .
  • docker build: امیج بنانے کی کمانڈ۔
  • -t my-python-app: امیج کے لیے ایک نام (my-python-app) بتاتا ہے۔
  • .: Dockerfile پر مشتمل ڈائریکٹری (موجودہ ڈائریکٹری) بتاتا ہے۔

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

5. ڈاکر کنٹینر چلائیں

ڈاکر کنٹینر چلانے کے لیے درج ذیل کمانڈ استعمال کریں:

docker run -d -p 5000:5000 my-python-app
  • docker run: کنٹینر چلانے کی کمانڈ۔
  • -d: کنٹینر کو ڈیٹیچڈ موڈ میں چلاتا ہے (پس منظر میں چلتا ہے)۔
  • -p 5000:5000: میزبان مشین کی 5000 پورٹ کو کنٹینر کی 5000 پورٹ پر میپ کرتا ہے۔
  • my-python-app: استعمال کرنے کے لیے امیج کا نام بتاتا ہے۔

6. ایپلیکیشن کی تصدیق کریں

براؤزر میں http://localhost:5000 پر جائیں، آپ کو "Hello, Docker!" نظر آنا چاہیے۔

7. کنٹینر کو روکیں اور حذف کریں

کنٹینر کو روکنے کے لیے درج ذیل کمانڈ استعمال کریں:

docker stop 

`` کو docker ps کمانڈ کے ذریعے دیکھا جا سکتا ہے۔

کنٹینر کو حذف کرنے کے لیے درج ذیل کمانڈ استعمال کریں:

docker rm 

ڈاکر کمپوز کا تعارف

اگر آپ کی ایپلیکیشن متعدد سروسز پر مشتمل ہے، تو آپ ان کا انتظام کرنے کے لیے ڈاکر کمپوز استعمال کر سکتے ہیں۔

1. docker-compose.yml فائل بنائیں

docker-compose.yml نامی ایک فائل بنائیں اور درج ذیل مواد شامل کریں:

version: "3.9"
services:
  web:
    image: my-python-app
    ports:
      - "5000:5000"

docker-compose.yml کی وضاحت:* version: "3.9": ڈاکر کمپوز فائل کا ورژن متعین کرتا ہے۔

  • services: ایپلیکیشن کی سروسز کی تعریف کرتا ہے۔
  • web: "web" نامی سروس کی تعریف کرتا ہے۔
  • image: my-python-app: سروس کے زیر استعمال امیج کی وضاحت کرتا ہے۔
  • ports: پورٹ میپنگ کی تعریف کرتا ہے۔

2. ایپلیکیشن شروع کرنا

docker-compose.yml فائل پر مشتمل ڈائریکٹری میں، ایپلیکیشن شروع کرنے کے لیے درج ذیل کمانڈ چلائیں:

docker-compose up -d
  • docker-compose up: ایپلیکیشن شروع کرنے کی کمانڈ۔
  • -d: کنٹینر کو ڈیٹیچڈ موڈ میں چلاتا ہے۔

3. ایپلیکیشن کو روکنا

ایپلیکیشن کو روکنے کے لیے درج ذیل کمانڈ استعمال کریں:

docker-compose down

ڈاکر سیکیورٹی کے بہترین طریقے

جیسا کہ بحث سے ظاہر ہوتا ہے، ڈاکر امیج کی سیکیورٹی ایک اہم مسئلہ ہے۔ یہاں ڈاکر سیکیورٹی کے کچھ بہترین طریقے ہیں:

  • آفیشل امیجز استعمال کریں: جہاں تک ممکن ہو آفیشل طور پر فراہم کردہ امیجز استعمال کریں، ان امیجز کو عام طور پر سیکیورٹی اسکین اور مینٹین کیا جاتا ہے۔
  • امیج میں موجود کمزوریوں کو اسکین کریں: Trivy جیسے ٹولز کا استعمال کرتے ہوئے امیج میں موجود معلوم کمزوریوں کو اسکین کریں اور امیج کو بروقت اپ ڈیٹ کریں۔
  • کم سے کم اجازت کا اصول استعمال کریں: کنٹینر کو روٹ صارف کے طور پر چلانے سے گریز کریں۔
  • کنٹینر کے وسائل کو محدود کریں: cgroups کا استعمال کرتے ہوئے کنٹینر کے CPU اور میموری کے استعمال کو محدود کریں۔
  • امیجز کو باقاعدگی سے اپ ڈیٹ کریں: سیکیورٹی کی کمزوریوں کو دور کرنے کے لیے امیجز کو اپ ڈیٹ رکھیں۔
  • سیکیورٹی اسکیننگ ٹولز استعمال کریں: Snyk، Clair جیسے ٹولز کو آپ کے CI/CD کے عمل میں ضم کیا جا سکتا ہے تاکہ امیج میں موجود کمزوریوں کو خود بخود اسکین کیا جا سکے۔

نتیجہ

یہ مضمون ڈاکر کے لیے ایک فوری آغاز گائیڈ فراہم کرتا ہے، جس میں بنیادی تصورات، تنصیب کے مراحل اور ایک سادہ Python ایپلیکیشن کی کنٹینرائزیشن کی مثال شامل ہے۔ ان بنیادی باتوں کو سیکھ کر، آپ ڈاکر کا استعمال کرتے ہوئے اپنی ایپلیکیشنز کو بنانا، جانچنا اور تعینات کرنا شروع کر سکتے ہیں۔ یاد رکھیں، حفاظت سب سے اہم ہے، اور ہمیشہ ڈاکر امیجز کی حفاظت پر توجہ دیں، اور اپنی ایپلیکیشنز کی حفاظت کے لیے مناسب اقدامات کریں۔ اگرچہ Kubernetes بڑے پیمانے پر کنٹینر آرکیسٹریشن کے لیے طاقتور ہے، لیکن ڈاکر بہت سے منظرناموں میں اب بھی ایک آسان اور موثر حل ہے۔ ڈاکر میں مہارت حاصل کر کے، آپ جدید سافٹ ویئر ڈویلپمنٹ اور تعیناتی کے چیلنجوں سے بہتر طور پر نمٹ سکتے ہیں۔

Published in Technology

You Might Also Like

کس طرح کلاؤڈ کمپیوٹنگ ٹیکنالوجی کا استعمال کریں: آپ کی پہلی کلاؤڈ بنیادی ڈھانچے کی مکمل رہنمائیTechnology

کس طرح کلاؤڈ کمپیوٹنگ ٹیکنالوجی کا استعمال کریں: آپ کی پہلی کلاؤڈ بنیادی ڈھانچے کی مکمل رہنمائی

کس طرح کلاؤڈ کمپیوٹنگ ٹیکنالوجی کا استعمال کریں: آپ کی پہلی کلاؤڈ بنیادی ڈھانچے کی مکمل رہنمائی تعارف ڈیجیٹل تبدیلی کی ر...

پیشگی خبر! Claude Code کے بانی کا کہنا ہے: ایک مہینے بعد Plan Mode کا استعمال نہ ہونے پر سافٹ ویئر انجینئر کا لقب غائب ہو جائے گاTechnology

پیشگی خبر! Claude Code کے بانی کا کہنا ہے: ایک مہینے بعد Plan Mode کا استعمال نہ ہونے پر سافٹ ویئر انجینئر کا لقب غائب ہو جائے گا

پیشگی خبر! Claude Code کے بانی کا کہنا ہے: ایک مہینے بعد Plan Mode کا استعمال نہ ہونے پر سافٹ ویئر انجینئر کا لقب غائب ہ...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 随着深度学习在各个领域的迅速发展,越来越多的学习资源和工具涌现出来。本文将为您推荐2026年最值得关注的十个深度学习资源,帮助您在这一领域中快速成长。 1. Coursera Deep Learn...

2026 سال کے ٹاپ 10 AI ایجنٹس: بنیادی خصوصیات کا تجزیہTechnology

2026 سال کے ٹاپ 10 AI ایجنٹس: بنیادی خصوصیات کا تجزیہ

2026 سال کے ٹاپ 10 AI ایجنٹس: بنیادی خصوصیات کا تجزیہ تعارف مصنوعی ذہانت کی تیز رفتار ترقی کے ساتھ، AI ایجنٹس (AI Agents...

2026 کے ٹاپ 10 AI ٹولز کی سفارش: مصنوعی ذہانت کی حقیقی صلاحیت کو آزاد کرناTechnology

2026 کے ٹاپ 10 AI ٹولز کی سفارش: مصنوعی ذہانت کی حقیقی صلاحیت کو آزاد کرنا

2026 کے ٹاپ 10 AI ٹولز کی سفارش: مصنوعی ذہانت کی حقیقی صلاحیت کو آزاد کرنا آج کی تیز رفتار ٹیکنالوجی کی ترقی میں، مصنوعی...

2026 سال کے ٹاپ 10 AWS ٹولز اور وسائل کی سفارشTechnology

2026 سال کے ٹاپ 10 AWS ٹولز اور وسائل کی سفارش

2026 سال کے ٹاپ 10 AWS ٹولز اور وسائل کی سفارش تیزی سے ترقی پذیر کلاؤڈ کمپیوٹنگ کے میدان میں، Amazon Web Services (AWS) ...