Junior
Jaké máte zkušenosti s Docker Compose?
sobes.tech AI
Odpověď od AI
Používám Docker Compose k definování a spuštění vícekonténerových aplikací. Mám zkušenosti s:
- Vývojem místního prostředí: Vytvořením souboru
docker-compose.ymlpro spuštění všech potřebných služeb (backend, frontend, databáze, cache) pro místní vývoj. To umožňuje rychle nasadit izolované prostředí. - Testováním: Použitím Docker Compose k vytvoření testovacích prostředí s různými konfiguracemi služeb.
- Nasazením na staging/produkci: Ačkoliv se pro produkci často používají výkonnější orchestrátory (například Kubernetes), Docker Compose byl použit v raných fázích nebo pro malé projekty pro nasazení na stagingové servery.
Příklady použití polí v docker-compose.yml:
services: Definice sady kontejnerů.image: Určení používaného Docker obrazu.build: Sestavení obrazu z Dockerfile.ports: Mapování portů.volumes: Připojení svazků pro ukládání dat nebo připojení zdrojového kódu.networks: Definice vlastních sítí.depends_on: Nastavení závislostí mezi službami.environment: Přenos proměnných prostředí do kontejneru.
Příklad jednoduché konfigurace pro webovou aplikaci a databázi:
services:
webapp:
build: ./webapp # Sestavení z Dockerfile v adresáři webapp
ports:
- "80:80" # Mapování portu 80 hostitele na port 80 kontejneru
environment:
DATABASE_URL: postgresql://user:password@db:5432/mydb # Proměnná prostředí
depends_on:
- db # Web závisí na databázi
db:
image: postgres:13 # Použití obrazu PostgreSQL
volumes:
- db_data:/var/lib/postgresql/data # Uložení dat
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: mydb
volumes:
db_data: # Definice pojmenovaného svazku
Typické příkazy:
docker compose up -d # Spuštění služeb na pozadí
docker compose down # Zastavení a odstranění služeb
docker compose build # Sestavení obrazů
docker compose logs <název služby> # Zobrazení logů konkrétní služby
docker compose exec <název služby> <příkaz> # Spuštění příkazu uvnitř kontejneru
Jsem obeznámen s různými verzemi syntaxe Compose a jejich rozdíly. Chápu, jak používat .env soubory k řízení proměnných prostředí a jak aplikovat profily pro spuštění různých sad služeb.