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.