compose.yaml फाइलें बनाना

इंटरमीडिएट Docker

Mike Metzger

Data Engineering Consultant

YAML

  • Yet Another Markup Language
    • YAML Ain't Markup Language
  • टेक्स्ट फाइल, लेकिन स्पेसिंग मायने रखती है (Python जैसी)
  • कई डेवलपमेंट scenarios में configuration के लिए उपयोग होती है
  • नियम पेचीदा हो सकते हैं, मुख्यतः entries उदाहरणों की तरह line up रखें
services:
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
      - "5432:5432"
    restart: always
  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4:latest
    ports:
      - "5050:80"
    restart: always
इंटरमीडिएट Docker

Main sections

  • अलग-अलग sections अलग components सँभालते हैं
  • services: लोड होने वाले containers की सूची
  • networks: networking definitions सँभालता है
  • volumes: किसी भी volume mounting को नियंत्रित करता है
  • configs: custom images के बिना configuration options सँभालता है
  • secrets: passwords, tokens, API keys इत्यादि के लिए विकल्प देता है
  • और जानने के लिए Docker Compose Documentation देखें
services:
  ... # Define containers

networks: ... # Define any networking details
volumes: ... # Define storage requirements
configs: ... # Define special config details
secrets: ... # Define passwords / etc
1 https://docs.docker.com/compose/compose-file/
इंटरमीडिएट Docker

Services सेक्शन

  • एप्लिकेशन के लिए सभी आवश्यक resources परिभाषित करता है
  • मुख्यतः उपयोग होने वाले containers और images बताता है
  • बहुत से options उपलब्ध हैं, पर वे केवल individual container(s) पर लागू होते हैं
  • जरूरत अनुसार indentation लगाएँ
  • पहली subsection प्रत्येक component का नाम, फिर उसकी settings होती हैं
इंटरमीडिएट Docker

Services उदाहरण

services:

# Resource name postgres:
# Container name, otherwise random container_name: postgres
# Container image to use image: postgres:latest
# Any port mapping required ports: # Network details - "5432:5432"
# Next resource pgadmin: ...
  • Resource name
  • container_name:, container को दिया गया नाम, वरना random होगा
  • image:, कौन-सी container image उपयोग होगी
  • ports:, आवश्यक port mapping की सूची
  • फिर अगले आवश्यक resources दें
इंटरमीडिएट Docker

अतिरिक्त टिप्पणियाँ

  • config.yaml का syntax व्यापक है
    • compose.yaml options का बहुत छोटा भाग यहाँ कवर है
    • Documentation देखें!
  • आमतौर पर compose.yaml फाइल शुरू से बनानी नहीं पड़ती
1 https://docs.docker.com/compose/compose-file/
इंटरमीडिएट Docker

अभ्यास करते हैं!

इंटरमीडिएट Docker

Preparing Video For Download...