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 up
tworzy i uruchamia wszystkie kontenery wskazane w sekcjiservices
plikucompose.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