Docker ایک containerization کے لیے ایک platform ہے — کسی application کو اس کی تمام dependencies کے ساتھ ایک portable container میں package کریں جو کہیں بھی مطابقت سے چلتا ہے۔ یہ classic "یہ میری machine پر کام کرتا ہے" کے مسئلے کو حل کرتا ہے جو environments کو reproducible بناتا ہے۔
مسئلہ: غیر مطابقت والے environments
WITHOUT containers:
→ an app works on the developer's machine but fails in test/production
→ different OS, library versions, configs, missing dependencies → "works on my machine"
→ setting up environments is manual, error-prone, and inconsistent
