Wprowadzenie do Docker Compose

Docker Compose to narzędzie, które pozwala na definiowanie i uruchamianie aplikacji składających się z wielu kontenerów Docker. Dzięki plikowi YAML, takiemu jak docker-compose.prod.yml, można łatwo skonfigurować środowisko produkcyjne dla aplikacji. W tym artykule omówimy, jak stworzyć i wykorzystać plik docker-compose.prod.yml w środowisku produkcyjnym.

Dlaczego warto używać docker-compose.prod.yml?

Wykorzystanie osobnego pliku YAML dla środowiska produkcyjnego ma wiele zalet:

  • Izolacja konfiguracji: Można oddzielić konfigurację produkcyjną od deweloperskiej, co ułatwia zarządzanie.
  • Optymalizacja zasobów: Można dostosować ustawienia, takie jak liczba replik kontenerów, aby lepiej wykorzystać zasoby serwera.
  • Bezpieczeństwo: Umożliwia dodanie specyficznych dla produkcji ustawień, takich jak zmienne środowiskowe i dostęp do zewnętrznych baz danych.

Jak stworzyć plik docker-compose.prod.yml?

Aby stworzyć plik docker-compose.prod.yml, należy wziąć pod uwagę kilka kluczowych elementów:

Podstawowa struktura pliku

Poniżej przedstawiamy przykładową strukturę pliku docker-compose.prod.yml:

version: '3.8'
services:
  web:
    image: myapp:latest
    ports:
      - '80:80'
    environment:
      - ENV=production
    networks:
      - mynetwork

networks:
  mynetwork:
    driver: bridge

W powyższym przykładzie definiujemy usługę web, która korzysta z obrazu myapp:latest, otwiera port 80 i ustawia zmienną środowiskową ENV na production.

Dodawanie baz danych i usług zewnętrznych

Ważnym elementem aplikacji produkcyjnej jest często baza danych. Możemy dodać usługę bazy danych do naszego pliku:

  db:
    image: postgres:latest
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
    networks:
      - mynetwork

W ten sposób zdefiniowaliśmy usługę db, która korzysta z obrazu postgres:latest i ustawia odpowiednie zmienne środowiskowe dla użytkownika oraz hasła.

Uruchamianie aplikacji za pomocą Docker Compose

Aby uruchomić aplikację z pliku docker-compose.prod.yml, wystarczy użyć poniższego polecenia:

docker-compose -f docker-compose.prod.yml up -d

Flaga -d oznacza, że kontenery będą uruchamiane w trybie odłączonym, co jest szczególnie przydatne w środowiskach produkcyjnych.

Podsumowanie

Plik docker-compose.prod.yml jest kluczowym elementem w procesie wdrażania aplikacji w środowisku produkcyjnym. Dzięki niemu możemy łatwo zarządzać konfiguracją, zabezpieczeniami oraz optymalizacją zasobów. Przy odpowiedniej strukturze i konfiguracji, Docker Compose pozwala na efektywne i bezproblemowe uruchamianie aplikacji wielokontenerowych.