0Pricing
Docker & DevOps Fundamentals · Lekcja

Wdrażanie aplikacji wielousługowych

Wdróż aplikację full-stack z bazą danych i usługą backendową za pomocą Docker Compose.

Wdrażanie aplikacji wielousługowych to bezpłatna lekcja Docker & DevOps Fundamentals na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Docker & DevOps Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.

Wdrażanie aplikacji z wieloma usługami

Witamy! W tej lekcji nauczą się Państwo uruchamiać aplikację full-stack za pomocą Docker Compose.

Zobaczą Państwo, jak definiować wiele usług, takich jak aplikacja internetowa i baza danych, a następnie wdrażać je i zarządzać nimi razem.

Wdrażanie aplikacji wielousługowych — ilustracja 1

Nasz przykład: aplikacja internetowa i baza danych

Wdrożymy prostą aplikację internetową, która łączy się z bazą danych. Jest to typowa konfiguracja w wielu rzeczywistych aplikacjach.

  • Usługa internetowa: aplikacja Python Flask udostępniająca podstawową stronę internetową.
  • Usługa bazy danych: baza PostgreSQL przechowująca dane.

Docker Compose ułatwia orkiestrację tych dwóch usług!

Tworzenie obrazu aplikacji internetowej

Nasza usługa internetowa potrzebuje własnego obrazu Docker. Oto uproszczony plik Dockerfile, który buduje naszą aplikację Python Flask.

Instaluje on Flask oraz konektor PostgreSQL, a następnie uruchamia plik app.py.

FROM python:3.9-slim-buster

WORKDIR /app

COPY . /app

RUN pip install --no-cache-dir flask psycopg2-binary

EXPOSE 5000

CMD ["python", "app.py"]

Plik `docker-compose.yml`

Ten plik docker-compose.yml definiuje nasze dwie usługi: web i db. Proszę zwrócić uwagę, że usługa web jest budowana na podstawie naszego pliku Dockerfile i łączy się z usługą db za pomocą zmiennych środowiskowych.

version: '3.8'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    environment:
      DB_HOST: db
      DB_NAME: mydatabase
      DB_USER: user
      DB_PASSWORD: password
    depends_on:
      - db
  db:
    image: postgres:13
    environment:
      POSTGRES_DB: mydatabase
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Uruchamianie usług

Aby uruchomić wszystkie usługi zdefiniowane w pliku docker-compose.yml, należy użyć polecenia docker compose up.

Flaga -d uruchamia kontenery w trybie „detached”, czyli w tle.

# This command starts your multi-service app
# and runs it in the background.
docker compose up -d

Sprawdzanie uruchomionych kontenerów

Po uruchomieniu polecenia docker compose up -d warto sprawdzić, czy wszystkie usługi działają zgodnie z oczekiwaniami.

Polecenie docker compose ps wyświetla listę usług, ich stan oraz porty.

# Check the status of your services
docker compose ps

Łączenie się z aplikacją

Po uruchomieniu usług można uzyskać dostęp do aplikacji internetowej.

  • Proszę otworzyć przeglądarkę internetową.
  • Proszę przejść do adresu http://localhost:5000.

Powinni Państwo zobaczyć komunikat z naszej aplikacji Flask potwierdzający jej połączenie z bazą PostgreSQL!

Skalowanie usług

Jedną z przydatnych funkcji Docker Compose jest skalowanie usług. Jeśli aplikacja internetowa musi obsługiwać większy ruch, można łatwo zwiększyć liczbę instancji usługi internetowej.

Należy użyć flagi --scale wraz z poleceniem docker compose up.

# Scale the 'web' service to 3 instances
docker compose up --scale web=3 -d

Zatrzymywanie i usuwanie usług

Po zakończeniu pracy z aplikacją można zatrzymać i usunąć wszystkie usługi oraz ich sieci zdefiniowane w pliku docker-compose.yml.

Polecenie docker compose down wykona to czyszczenie za Państwa.

# Stop and remove all services
docker compose down

Szybkie sprawdzenie

Proszę przypomnieć sobie używany przez nas plik docker-compose.yml. Właśnie uruchomili Państwo aplikację za pomocą polecenia docker compose up -d.

Jakie jest podstawowe polecenie służące do zatrzymania i usunięcia wszystkich uruchomionych usług oraz powiązanych z nimi zasobów?

Podsumowanie i dalsze kroki

Świetnie! Nauczyli się Państwo wdrażać aplikację z wieloma usługami i zarządzać nią za pomocą Docker Compose.

  • Zdefiniowaliśmy usługi w pliku docker-compose.yml.
  • Użyliśmy polecenia docker compose up -d, aby uruchomić usługi.
  • Sprawdziliśmy stan za pomocą polecenia docker compose ps.
  • Skalowaliśmy usługi i użyliśmy polecenia docker compose down do sprzątania.

To podstawowa umiejętność przy lokalnym tworzeniu i testowaniu złożonych aplikacji!

Często zadawane pytania

Czy lekcja „Wdrażanie aplikacji wielousługowych” jest bezpłatna?

Tak — pełny tekst „Wdrażanie aplikacji wielousługowych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Docker & DevOps Fundamentals, przejdź na CoddyKit PRO. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.

Co nauczysz się w „Wdrażanie aplikacji wielousługowych”?

Wdróż aplikację full-stack z bazą danych i usługą backendową za pomocą Docker Compose. Ćwiczysz Docker & DevOps Fundamentals z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Docker & DevOps Fundamentals?

Nie wymagamy żadnego doświadczenia. Docker & DevOps Fundamentals w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wdrażanie aplikacji wielousługowych”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Docker & DevOps Fundamentals?

Tak. Każda lekcja Docker & DevOps Fundamentals zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym jest Docker Compose?
  2. Pisanie pliku Compose
  3. Wdrażanie aplikacji wielousługowych
  4. Zmienne środowiskowe i pliki .env
← Powrót do Docker & DevOps Fundamentals