Sobes.tech
Junior

Milyen tapasztalata van a Docker Compose-szal?

sobes.tech MI

Válasz az MI-től

A Docker Compose-t használom többkonténeres alkalmazások meghatározására és futtatására. Tapasztalatom a következőket foglalja magában:

  • Helyi fejlesztői környezet kialakítása: docker-compose.yml fájl létrehozása a szükséges összes szolgáltatás (backend, frontend, adatbázis, cache) indításához helyi fejlesztéshez. Ez lehetővé teszi egy elszigetelt környezet gyors létrehozását.
  • Tesztelés: Docker Compose használata tesztkörnyezetek létrehozására különböző konfigurációkkal.
  • Staging/gyártási környezetbe való telepítés: Bár a gyártáshoz gyakran erősebb orkestrátorokat (pl. Kubernetes) használnak, a Docker Compose-t korai szakaszokban vagy kis projektekhez használtam staging szerverekre való telepítéshez.

Példák a docker-compose.yml mezők használatára:

  • services: Szolgáltatásokat tartalmazó konténerek halmazának meghatározása.
  • image: A Docker kép megadása.
  • build: A Dockerfile-ból történő képépítés.
  • ports: Porttérképezés.
  • volumes: Volumenek csatolása adatok tárolására vagy forráskód csatolására.
  • networks: Egyedi hálózatok definiálása.
  • depends_on: Szolgáltatások közötti függőségek beállítása.
  • environment: Környezeti változók átadása a konténernek.

Egyszerű konfiguráció példája egy webalkalmazáshoz és egy adatbázishoz:

services:
  webapp:
    build: ./webapp # A Dockerfile-ból a webapp könyvtárban
    ports:
      - "80:80" # A host 80-as portját a konténer 80-as portjára térképezi
    environment:
      DATABASE_URL: postgresql://user:password@db:5432/mydb # Környezeti változó
    depends_on:
      - db # A webalkalmazás a adatbázistól függ

  db:
    image: postgres:13 # A PostgreSQL kép használata
    volumes:
      - db_data:/var/lib/postgresql/data # Adatok tárolása
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydb

volumes:
  db_data: # Névvel ellátott volumen definiálása

Tipikus parancsok:

docker compose up -d # Szolgáltatások indítása háttérben
docker compose down # Szolgáltatások leállítása és törlése
docker compose build # Képek építése
docker compose logs <szolgáltatás_neve> # Egy adott szolgáltatás naplóinak megtekintése
docker compose exec <szolgáltatás_neve> <parancs> # Parancs végrehajtása a konténerben

Ismerem a Compose szintaxis különböző verzióit és azok különbségeit. Megértem, hogyan kell .env fájlokat használni a környezeti változók kezelésére, és hogyan lehet profilokat alkalmazni különböző szolgáltatkészletek indítására.