Sobes.tech
Junior

Czym jest Docker Compose?

sobes.tech AI

Odpowiedź od AI

Narzędzie do definiowania i uruchamiania wielokontenerowych aplikacji Docker. Pozwala opisać usługi, sieci i wolumeny w jednym pliku YAML i uruchomić je jednym poleceniem.

Główne funkcje:

  • Definiowanie wielu usług w jednym pliku.
  • Tworzenie i uruchamianie wszystkich usług jednym poleceniem.
  • Zarządzanie cyklem życia aplikacji (uruchomienie, zatrzymanie, ponowne uruchomienie, skalowanie).
  • Interakcja sieciowa między kontenerami.
  • Zastosowanie konfiguracji na żywo.

Przykład pliku docker-compose.yml:

version: '3.8' # Wersja formatu pliku

services:
  web: # Nazwa usługi
    image: nginx:latest # Używany obraz
    ports:
      - "80:80" # Przekierowanie portów
    volumes:
      - ./html:/usr/share/nginx/html # Mapowanie wolumenów

  app: # Nazwa innej usługi
    build: . # Budowa obrazu z Dockerfile w bieżącym katalogu
    ports:
      - "5000:5000"
    depends_on: # Zależność od innej usługi
      - db

  db: # Nazwa usługi bazy danych
    image: postgres:latest
    environment: # Zmienne środowiskowe
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Zdefiniowane wolumeny
  data: # Nazwany wolumen dla danych

Polecenia:

  • docker-compose up: Uruchamia kontenery.
  • docker-compose down: Zatrzymuje i usuwa kontenery.
  • docker-compose build: Buduje obrazy.
  • docker-compose ps: Pokazuje status uruchomionych kontenerów.

Zalety:

  • Ułatwia zarządzanie złożonymi aplikacjami wielokontenerowymi.
  • Zapewnia powtarzalność wdrożenia.
  • Ułatwia lokalny rozwój i testowanie.