Sobes.tech
Junior

Šta je Docker Compose?

sobes.tech АИ

Одговор од АИ

Alatka za definisanje i pokretanje multi-kontejnerskih Docker aplikacija. Omogućava opisivanje servisa, mreža i volumena u jednom YAML fajlu i njihovo pokretanje jednom komandom.

Glavne funkcije:

  • Definisanje više servisa u jednom fajlu.
  • Kreiranje i pokretanje svih servisa jednom komandom.
  • Upravljanje životnim ciklusom aplikacije (pokretanje, zaustavljanje, ponovo pokretanje, skaliranje).
  • Mrežna interakcija između kontejnera.
  • Primena konfiguracije u realnom vremenu.

Primer fajla docker-compose.yml:

version: '3.8' # Verzija formata fajla

services:
  web: # Ime servisa
    image: nginx:latest # Koristi se slika
    ports:
      - "80:80" # Preusmeravanje portova
    volumes:
      - ./html:/usr/share/nginx/html # Mapiranje volumena

  app: # Ime drugog servisa
    build: . # Izgradnja slike iz Dockerfile u trenutnom direktorijumu
    ports:
      - "5000:5000"
    depends_on: # Zavisnost od drugog servisa
      - db

  db: # Ime servisa baze podataka
    image: postgres:latest
    environment: # Promenljive okruženja
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Definisani volumeni
  data: # Imenovani volumen za podatke

Komande:

  • docker-compose up: Pokreće kontejnere.
  • docker-compose down: Zaustavlja i briše kontejnere.
  • docker-compose build: Gradi slike.
  • docker-compose ps: Prikazuje status pokrenutih kontejnera.

Prednosti:

  • Olakšava upravljanje složenim multi-kontejnerskim aplikacijama.
  • Osigurava ponovljivost implementacije.
  • Olakšava lokalni razvoj i testiranje.