0Pricing
DevOps Bootcamp · 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 DevOps Bootcamp 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp 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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp 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 DevOps Bootcamp 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ąć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp 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 DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp 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 DevOps Bootcamp