CodeGym /Kursy /Docker SELF /Uruchamianie aplikacji i usług

Uruchamianie aplikacji i usług

Docker SELF
Poziom 15 , Lekcja 3
Dostępny

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

  1. Tworzenie i uruchamianie kontenerów: komenda docker compose up tworzy i uruchamia wszystkie kontenery wskazane w sekcji services pliku compose.yaml.
  2. Konfiguracja sieci i wolumenów: Docker Compose automatycznie tworzy potrzebne sieci i montuje wolumeny wskazane w konfiguracji.
  3. Równoległe uruchamianie serwisów: wszystkie serwisy są uruchamiane równocześnie, co przyspiesza proces startu aplikacji wielokontenerowych.
  4. 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:

Terminal

docker compose up

2. Uruchomienie konkretnej usługi

Uruchamianie konkretnej usługi, na przykład web:

Terminal

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):

Terminal

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.

Terminal

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.

Terminal

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.

Terminal

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.

Terminal

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.

Terminal

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.

Terminal

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.

Terminal

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.

Terminal

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.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION