4.1 Komenda docker compose up
Komenda docker compose up to kluczowa komenda w Docker Compose, która pozwala uruchamiać aplikacje wielokontenerowe zdefiniowane w pliku compose.yaml. Automatycznie tworzy i uruchamia wszystkie serwisy wskazane w konfiguracji, konfiguruje sieci i montuje wolumeny. W tym wykładzie szczegółowo omówimy użycie komendy docker compose up, jej główne opcje i najlepsze praktyki.
Główne funkcje komendy docker compose up
- Tworzenie i uruchamianie kontenerów: komenda
docker compose uptworzy i uruchamia wszystkie kontenery wskazane w sekcjiservicesplikucompose.yaml. - Konfiguracja sieci i wolumenów: Docker Compose automatycznie tworzy potrzebne sieci i montuje wolumeny wskazane w konfiguracji.
- Równoległe uruchamianie serwisów: wszystkie serwisy są uruchamiane równocześnie, co przyspiesza proces startu aplikacji wielokontenerowych.
- Monitorowanie logów: komenda wyświetla logi wszystkich uruchomionych kontenerów w czasie rzeczywistym, co pozwala śledzić ich stan i szybko identyfikować problemy.
Składnia komendy docker compose up
docker compose up [options] [SERVICE...]
Gdzie:
-
[options]: dodatkowe opcje do konfiguracji działania komendy (np.--detach,--build,--scale). -
[SERVICE...]: (opcjonalnie) lista serwisów do uruchomienia. Jeśli nie wskazano, uruchamiane są wszystkie serwisy.
4.2 Przykłady docker compose up
Przykłady użycia polecenia docker compose up:
1. Uruchomienie wszystkich usług
Uruchamianie wszystkich usług zdefiniowanych w pliku compose.yaml:
docker compose up
2. Uruchomienie konkretnej usługi
Uruchamianie konkretnej usługi, na przykład web:
docker compose up web
3. Uruchomienie w trybie tła
Aby uruchomić wszystkie usługi w trybie tła, użyj opcji -d (detached mode):
docker compose up -d
Korzystając z tej opcji, polecenie zakończy się natychmiast po uruchomieniu kontenerów, a one będą działały w tle.
4.3 Parametry komendy docker compose up
Przydatne parametry komendy docker compose up:
1. Parametr --build
Ten parametr zmusza Docker Compose do ponownego zbudowania obrazów przed uruchomieniem kontenerów. Przydatne, jeśli zmodyfikujesz kod źródłowy lub plik Dockerfile.
docker compose up --build
2. Parametr --force-recreate
Parametr --force-recreate zmusza Docker Compose do ponownego utworzenia kontenerów, nawet jeśli ich konfiguracja się nie zmieniła.
docker compose up --force-recreate
3. Parametr --no-recreate
Parametr --no-recreate zapobiega ponownemu utworzeniu istniejących kontenerów, nawet jeśli ich konfiguracja uległa zmianie.
docker compose up --no-recreate
4. Parametr --remove-orphans
Ten parametr usuwa kontenery, które nie są zdefiniowane w bieżącym pliku compose.yaml, ale zostały utworzone przez poprzednie uruchomienia Docker Compose.
docker compose up --remove-orphans
5. Parametry -V, --renew-anon-volumes
Te parametry zmuszają Docker Compose do ponownego utworzenia anonimowych woluminów zamiast ich ponownego użycia.
docker compose up -V
4.4 Przykłady i rekomendacje
Przykłady użycia komendy docker compose up z różnymi opcjami:
Przykład 1: uruchomienie aplikacji z przebudową obrazów
Ten przykład przebudowuje obrazy przed uruchomieniem kontenerów, co jest przydatne, jeśli dokonałeś zmian w kodzie źródłowym lub pliku Dockerfile.
docker compose up --build
Przykład 2: uruchomienie w tle z odtworzeniem kontenerów
Ten przykład uruchamia kontenery w tle i odtwarza je, nawet jeśli konfiguracja się nie zmieniła.
docker compose up -d --force-recreate
Przykład 3: uruchomienie konkretnej usługi z usunięciem niepotrzebnych kontenerów
Ten przykład uruchamia tylko usługę web i usuwa kontenery, które nie są zdefiniowane w bieżącym pliku compose.yaml.
docker compose up web --remove-orphans
Praktyczne wskazówki
1. Użycie pliku .env
Możesz użyć pliku .env do definiowania zmiennych środowiskowych, które będą używane w Twoim compose.yaml. To pomaga zarządzać konfiguracją i upraszcza proces wdrażania w różnych środowiskach.
2. Logi i monitoring
Kiedy uruchamiasz kontenery za pomocą komendy docker compose up, wszystkie logi są wyświetlane w konsoli. To pozwala śledzić stan usług i szybko reagować na pojawiające się problemy. Do szczegółowego monitoringu używaj komend docker compose logs i docker compose ps.
3. Automatyzacja budowania i wdrażania
Integracja komendy docker compose up w skrypty automatyzacji lub pipeline'y CI/CD pomaga zautomatyzować proces budowania i wdrażania aplikacji wielokontenerowych. Na przykład, możesz skonfigurować Jenkins lub GitHub Actions do automatycznego budowania, wdrażania i uruchamiania docker compose up przy każdej aktualizacji kodu.
GO TO FULL VERSION