Jak zainstalować i używać Docker Compose w Rocky Linux 8

Photo of author

By maciekx

Wprowadzenie

Docker Compose to praktyczne narzędzie do definiowania i koordynowania pracy aplikacji składających się z wielu kontenerów. Pozwala na opisanie powiązanych kontenerów, sieci oraz woluminów w pojedynczym pliku YAML. Jego popularność w środowiskach deweloperskich i produkcyjnych wynika z uproszczenia procesu tworzenia i zarządzania złożonymi aplikacjami wielokontenerowymi.

Ten poradnik przedstawi kroki instalacji i praktycznego wykorzystania Docker Compose na serwerze z systemem Rocky Linux 8.

Wymagania wstępne

Do przeprowadzenia tego procesu wymagane są następujące elementy:

  • Serwer z zainstalowanym systemem Rocky Linux 8
  • Konto użytkownika z uprawnieniami administratora (sudo)
  • Aktywne połączenie z internetem

Proces instalacji Docker Compose

1. Instalacja Dockera

W przypadku, gdy Docker nie jest jeszcze zainstalowany na Twoim serwerze, wykonaj poniższe instrukcje:

sudo dnf install docker

2. Instalacja Docker Compose

Do zainstalowania Docker Compose użyjemy menedżera pakietów pip:

sudo pip install docker-compose

3. Weryfikacja instalacji

Aby upewnić się, że Docker Compose został poprawnie zainstalowany, wprowadź następujące polecenie:

docker-compose --version

Powinieneś zobaczyć wersję zainstalowanego Docker Compose.

Konfiguracja projektu z użyciem Docker Compose

1. Utworzenie pliku docker-compose.yml

W Twoim katalogu roboczym stwórz nowy plik o nazwie docker-compose.yml:

cd ~/
touch docker-compose.yml

2. Wypełnienie pliku

Wprowadź do pliku docker-compose.yml następującą zawartość:

version: '3.7'
services:
  app:
    image: nginx
    ports:
      - "80:80"

3. Omówienie zawartości pliku

  • version: Określa wersję specyfikacji Docker Compose.
  • services: Sekcja definiująca poszczególne kontenery wchodzące w skład aplikacji.
  • app: Nazwa naszej usługi (kontenera).
  • image: Wskazuje obraz Dockera, który ma być wykorzystany dla tej usługi.
  • ports: Mapowanie portów między kontenerem a hostem.

Praktyczne zastosowanie Docker Compose

1. Uruchomienie projektu

Aby wystartować projekt zdefiniowany w pliku docker-compose.yml, użyj następującego polecenia:

docker-compose up -d

Opcja -d powoduje uruchomienie kontenerów w trybie pracy w tle.

2. Sprawdzenie stanu kontenera

Aby zweryfikować, czy kontener działa, wprowadź poniższe polecenie:

docker ps

Powinieneś zobaczyć listę działających kontenerów, w tym nasz uruchomiony kontener.

3. Dostęp do aplikacji

Teraz możesz uzyskać dostęp do serwera nginx, wpisując adres IP Twojego serwera i port zdefiniowany w pliku docker-compose.yml (w naszym przykładzie port 80).

Zaawansowane możliwości

1. Składnia plików

Plik docker-compose.yml pozwala na konfigurację wielu parametrów i opcji. Szczegółowe informacje znajdziesz w dokumentacji Docker Compose.

2. Konfiguracja sieci

Docker Compose umożliwia tworzenie i zarządzanie sieciami dla kontenerów. Pozwala to na izolację oraz umożliwienie im wzajemnej komunikacji.

3. Zarządzanie woluminami

Za pomocą Docker Compose można tworzyć i zarządzać woluminami, które pozwalają na przechowywanie danych, nawet po ponownym uruchomieniu kontenera.

4. Skrypty cyklu życia

Docker Compose obsługuje skrypty, które można wykonywać w różnych fazach cyklu życia kontenerów (tworzenie, uruchamianie, zatrzymywanie).

Zarządzanie projektem w Docker Compose

1. Zatrzymywanie i usuwanie projektu

Aby zatrzymać projekt uruchomiony za pomocą Docker Compose, wpisz:

docker-compose down

Aby usunąć projekt wraz z woluminami, użyj:

docker-compose down -v

Opcja -v powoduje usunięcie również woluminów powiązanych z kontenerami.

2. Aktualizacja projektu

Aby zaktualizować projekt do najnowszej wersji obrazów, wykonaj:

docker-compose pull

A następnie ponownie uruchom projekt:

docker-compose up -d

Częste pytania

1. Dlaczego Docker Compose nie działa poprawnie?

Sprawdź, czy w pliku docker-compose.yml nie ma błędów składni. Upewnij się także, że obrazy Dockera, które są używane w pliku, są dostępne.

2. Jak uzyskać dostęp do kontenera?

Aby uzyskać interaktywny dostęp do kontenera, użyj polecenia:

docker exec -it <nazwa-kontenera> bash

3. Jak zmienić limity zasobów dla kontenera?

Edytuj plik docker-compose.yml i w sekcji usługi dodaj parametr resources, np.:

resources:
  limits:
    memory: 512M
  reservations:
    memory: 256M

4. Jak zdefiniować zmienne środowiskowe dla kontenera?

W sekcji usługi pliku docker-compose.yml dodaj sekcję environment, np.:

environment:
  - DB_HOST=localhost
  - DB_PORT=5432

5. Jak utworzyć niestandardową sieć dla kontenerów?

W pliku docker-compose.yml dodaj sekcję networks, np.:

networks:
  custom-network:
    driver: bridge

6. Jak zamontować wolumin hosta w kontenerze?

W sekcji usługi dodaj sekcję volumes w pliku docker-compose.yml, np.:

volumes:
  - /lokalna/sciezka:/sciezka/w/kontenerze

7. Jak zbudować obrazy Dockera z Docker Compose?

W sekcji usługi w pliku docker-compose.yml dodaj sekcję build, np.:

build:
  context: .
  dockerfile: Dockerfile

8. Jak nadpisać ustawienia domyślne Docker Compose?

Użyj plików docker-compose.override.yml lub docker-compose.local.yml, aby nadpisać ustawienia zdefiniowane w docker-compose.yml.

9. Jak debugować problemy z Docker Compose?

Aby włączyć debugowanie, wykonaj następujące polecenie:

docker-compose up -d --build --force-recreate

10. Gdzie uzyskać wsparcie dla Docker Compose?

Wsparcie znajdziesz na forum Docker Compose lub na kanale Discord.

Podsumowanie

Docker Compose to potężne narzędzie, które ułatwia budowę i zarządzanie aplikacjami wielokontenerowymi. Dzięki prostemu językowi YAML pozwala na definiowanie złożonych struktur, które można z łatwością wdrażać i skalować. Niniejszy poradnik krok po kroku przeprowadził Cię przez proces instalacji i konfiguracji Docker Compose na systemie Rocky Linux 8. Dzięki zdobytej wiedzy możesz efektywnie wykorzystywać Docker Compose do zarządzania swoimi projektami wielokontenerowymi.


newsblog.pl