
Kurs Docker od podstaw
Naucz się Dockera od zera! Kontenery, obrazy, Docker Compose i wdrożenia w praktyce. Kompletny kurs z zadaniami.
Zobacz też
- Docker Swarm - orkiestracja kontenerów na wielu hostach
- Bezpieczeństwo w Dockerze - best practices
- Debugowanie kontenerów Docker - najlepsze narzędzia
Co to jest Docker Compose?
Docker Compose to narzędzie, które umożliwia definiowanie i uruchamianie aplikacji opartych na Dockerze, które składają się z wielu kontenerów. Jego główną zaletą jest możliwość łatwego zarządzania zależnościami między różnymi usługami aplikacji. Zamiast ręcznie uruchamiać poszczególne kontenery i konfigurować połączenia między nimi, możesz użyć jednego pliku YAML, aby zdefiniować całą architekturę.
Jak działa Docker Compose?
Docker Compose operuje na prostych zasadach - wszystkie potrzebne kontenery, ich konfiguracja oraz sieci i woluminy są opisane w jednym pliku YAML, zazwyczaj nazwanym docker-compose.yml. Po zdefiniowaniu tego pliku, za pomocą jednego polecenia możesz uruchomić całą aplikację.
Korzyści z używania Docker Compose
- Prosta konfiguracja: Wszystkie komponenty Twojej aplikacji są skonfigurowane w jednym miejscu, co sprawia, że całe środowisko jest łatwe do przeniesienia i modyfikacji.
- Skalowalność: Docker Compose ułatwia skalowanie usług zgodnie z Twoimi potrzebami.
- Reużywalność: Ten sam plik
docker-compose.ymlmożna używać w różnych środowiskach, np. deweloperskim, testowym czy produkcyjnym.
Podstawowa struktura pliku docker-compose.yml
Poniżej znajduje się przykład prostego pliku docker-compose.yml, który definiuje aplikację składającą się z dwóch usług: aplikacji webowej i bazy danych.
YAML1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23version: '3.8' services: web: image: nginx:latest ports: - "8080:80" volumes: - ./web:/usr/share/nginx/html depends_on: - db db: image: postgres:latest environment: POSTGRES_DB: mydb POSTGRES_USER: user POSTGRES_PASSWORD: password volumes: - db-data:/var/lib/postgresql/data volumes: db-data:
Przykładowa aplikacja z Docker Compose
- Aplikacja webowa: Bazuje na serwerze Nginx, który wystawia statyczne pliki na porcie 8080 na hosta.
- Baza danych PostgreSQL: Kontener PostgreSQL, który przechowuje dane aplikacji.
Dokładny opis każdej usługi, takie jak image, ports, volumes, czy environment, pozwala dokładnie skonfigurować każdy kontener i jego środowisko.
Uruchamianie aplikacji za pomocą Docker Compose
Po zdefiniowaniu pliku docker-compose.yml, uruchomienie aplikacji jest proste. Wystarczy wydać poniższe polecenie w terminalu:
Bash1docker-compose up
To polecenie pobierze wszystkie potrzebne obrazy, utworzy kontenery i skonfiguruje sieci oraz woluminy.
Podsumowanie
Docker Compose upraszcza zarządzanie aplikacjami składającymi się z wielu kontenerów, umożliwiając zarządzanie całym stosunkiem technologicznym za pomocą jednego pliku YAML. Dzięki temu narzędziu Twoje aplikacje są nie tylko łatwiejsze do wdrożenia, ale również bardziej przenośne i skalowalne. Zachęcam do dalszego eksperymentowania i tworzenia coraz bardziej zaawansowanych konfiguracji z użyciem Docker Compose.



