Sobes.tech
Junior

Docker Compose nima va uni qanday ishlatish mumkin?

sobes.tech AI

AIdan javob

Docker Compose — bu Docker ko‘p konteynerli ilovalarni aniqlash va ishga tushirish uchun vositadir. U ilovaning xizmatlarini, ularning bog‘liqliklarini va konfiguratsiyasini bitta faylda (odatda docker-compose.yml) tasvirlash imkonini beradi. Keyin, bitta buyruq bilan, belgilangan barcha xizmatlarni ishga tushirish mumkin.

Docker Compose’dan foydalanish:

  1. Xizmatlarni belgilash: docker-compose.yml faylida, ilovaning turli komponentlari xizmatlar sifatida tasvirlanadi (masalan, veb-server, ma’lumotlar bazasi, backend API). Har bir xizmat uchun Docker tasviri, portlar, hajmlar, muhit o‘zgaruvchilari va bog‘liqliklar ko‘rsatiladi.

    # docker-compose.yml fayli misoli
    version: '3.8'
    services:
      webapp:
        image: my-webapp
        ports:
          - "80:80"
        volumes:
          - .:/app
      database:
        image: postgres:13
        environment:
          POSTGRES_USER: user
          POSTGRES_PASSWORD: password
    
  2. Ilovani ishga tushirish: docker-compose up buyruqi, docker-compose.yml faylida tasvirlangan barcha xizmatlarni yig‘adi, yaratadi va ishga tushiradi.

    # barcha xizmatlarni fon rejimida ishga tushirish
    docker-compose up -d
    
  3. Ilovani to‘xtatish: docker-compose down buyruqi, docker-compose up bilan yaratilgan konteynerlar, tarmoqlar va hajmlarni to‘xtatadi va o‘chiradi.

    # xizmatlarni to‘xtatish va o‘chirish
    docker-compose down
    

Asosiy afzalliklar:

  • Konfiguratsiyani soddalashtirish: Ko‘p konteynerli ilovaning barcha konfiguratsiyasi bitta faylda jamlangan.
  • Takrorlanadiganlik: Ilovani turli mashinalarda bir xil muhitda osongina sozlash va ishga tushirish mumkin.
  • Hayot aylanishini boshqarish: Barcha xizmatlarni ishga tushirish, to‘xtatish va qayta ishga tushirish uchun oddiy buyruqlar.
  • Test qilish: Bog‘liq xizmatlar bilan (ma’lumotlar bazalari, xabarlar navbatlari va boshqalar) test muhitlarini tezda yaratish uchun qulay.

QA muhitida, Docker Compose tez-tez test muhitlarini tezda joylashtirish, murakkab infratuzilmani simulyatsiya qilish va test muhitining oldindan aytib bo‘lmasligini ta’minlash uchun ishlatiladi.