Docker Compose: بنیادی باتیں اور استعمال

Docker Compose ایک طاقتور اور مقبول ٹول ہے جو کہ پر مبنی ایپلیکیشنز کے انتظام اور تعیناتی کے لیے استعمال ہوتا ہے Docker ۔ Docker یہ آپ کو ایک پروجیکٹ کے طور پر متعدد کنٹینرز کی وضاحت، ترتیب دینے اور چلانے کی اجازت دیتا ہے ، ایپلیکیشن کی تعیناتی کو آسان بناتا ہے اور ترقی اور پیداوار کے ماحول کے درمیان مستقل مزاجی کو یقینی بناتا ہے۔

ذیل میں کچھ تصورات اور مثالیں ہیں Docker Compose:

docker-compose.yml فائل کا استعمال کرتے ہوئے پروجیکٹ کی وضاحت کریں۔

فائل میں docker-compose.yml ، آپ اپنی درخواست کے لیے درکار خدمات کی وضاحت کر سکتے ہیں۔ مثال کے طور پر، ایک پی ایچ پی ویب ایپلیکیشن کو MySQL ڈیٹا بیس کے ساتھ متعین کرنے کے لیے، آپ دو خدمات کی وضاحت اس طرح کر سکتے ہیں:

version: "3"  
services:  
  web:  
    image: php:7.4-apache  
    ports:  
   - "80:80"  
    volumes:  
   - ./app:/var/www/html  
  
  db:  
    image: mysql:5.7  
    environment:  
      MYSQL_ROOT_PASSWORD: password  
      MYSQL_DATABASE: my_database  

مندرجہ بالا کوڈ کے ٹکڑوں میں، ہم دو خدمات کی وضاحت کرتے ہیں: web اور db. سروس web پی ایچ پی 7.4 image کے ساتھ استعمال کرے گی Apache ، پورٹ 80 پر سنیں، اور ./app میزبان سے ڈائرکٹری کو /var/www/html ڈائرکٹری میں ماؤنٹ کرے گی container ۔ سروس db MySQL 5.7 استعمال کرے گی image اور ڈیٹا بیس کے لیے درکار کچھ ماحولیاتی متغیرات سیٹ کرے گی۔

 

Docker Compose کمانڈ کا استعمال کرتے ہوئے

ایک بار جب آپ فائل میں پروجیکٹ کی وضاحت کر لیتے ہیں docker-compose.yml ، تو آپ Docker Compose سروسز کو منظم کرنے کے لیے کمانڈ استعمال کر سکتے ہیں۔

  • پروجیکٹ شروع کریں: docker-compose up

    یہ کمانڈ فائل میں بیان کردہ خدمات کے لیے کنٹینرز کو شروع کر دے گی docker-compose.yml ۔

  • کنٹینرز کو روکیں اور ہٹا دیں: docker-compose down

    یہ کمانڈ پروجیکٹ سے متعلق تمام کنٹینرز کو روکتا اور ہٹاتا ہے۔

  • چلنے والے کنٹینرز کی فہرست: docker-compose ps

    یہ کمانڈ پروجیکٹ میں کنٹینرز کی حیثیت کو ظاہر کرے گی۔

  • سروس لاگز دیکھیں: docker-compose logs

    یہ کمانڈ پروجیکٹ میں خدمات کے لاگز کو دکھاتا ہے۔

 

ماحولیاتی متغیرات اور حسب ضرورت

Docker Compose آپ کو مختلف ماحول کے لیے کنفیگریشنز کو اپنی مرضی کے مطابق بنانے کے لیے ماحولیاتی متغیرات استعمال کرنے کی اجازت دیتا ہے، جیسے کہ ترقی اور پیداوار۔ آپ docker-compose.yml فائل میں ماحولیاتی متغیرات استعمال کرسکتے ہیں اور متعلقہ .env فائلوں میں ان کی قدروں کی وضاحت کرسکتے ہیں۔

مثال کے طور پر، اگر آپ سروس کی بندرگاہ کے لیے ماحولیاتی متغیر کی وضاحت کرنا چاہتے ہیں ، تو آپ فائل میں اس طرح web ایک لائن شامل کر سکتے ہیں: .env

WEB_PORT=8080

پھر، docker-compose.yml فائل میں، آپ اس ماحولیاتی متغیر کو اس طرح استعمال کرسکتے ہیں:

version: "3"  
services:  
  web:  
    image: php:7.4-apache  
    ports:  
   - "${WEB_PORT}:80"  
    volumes:  
   - ./app:/var/www/html  

کمانڈ چلاتے وقت docker-compose up ، web سروس پورٹ 80 کے بجائے پورٹ 8080 پر سنے گی۔

 

Docker سوام کے ساتھ انضمام

اگر آپ اپنی درخواست کو ایک سے زیادہ نوڈس کے ساتھ تقسیم شدہ ماحول پر تعینات کرنا چاہتے ہیں تو، Docker Compose کے ساتھ ضم کر سکتے ہیں Docker Swarm ۔ Docker یہ آپ کو کلسٹر میں متعدد نوڈس میں خدمات کا انتظام کرنے کی اجازت دیتا ہے ۔

اس انضمام کو استعمال کرنے کے لیے، آپ کو ماحول میں چلتے وقت --orchestrate یا آپشنز کو شامل کرنے کی ضرورت ہے ۔ --with-registry-auth docker stack deploy docker-compose up Swarm

 

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