Appar med flera containrar med Docker Compose
Använd Docker Compose för att definiera och köra applikationer med flera tjänster (app, databas, cache) tillsammans med en enda deklarativ fil.
Appar med flera containrar med Docker Compose är en gratis lektion i AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning innehåller totalt 4 lektioner.
Varför Docker Compose?
Riktiga appar körs sällan i en enda container. Ofta behöver ni en webbapp, en databas och en cache. Docker Compose låter er definiera allt i en YAML-fil och starta det med ett enda kommando.
Filen compose.yaml
Compose läser en fil med namnet compose.yaml (eller docker-compose.yml). Varje post under services beskriver en container.
services:
web:
build: .
ports:
- "3000:3000"
db:
image: postgres:16Definiera en tjänst
En tjänst kan byggas från en lokal Dockerfile eller hämtas som en befintlig image. Här anger ni även portar, miljövariabler och beroenden.
Miljövariabler
Skicka konfiguration med environment eller läs in den från en .env-fil. Hårdkoda aldrig hemligheter direkt i YAML-filen som checkas in i git.
services:
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}Nätverk mellan tjänster
Compose placerar alla tjänster i ett gemensamt nätverk. En tjänst når en annan via dess tjänstenamn som värdnamn. Webbappen ansluter till databasen på db:5432.
Beständiga data med volymer
Containrar är temporära. Använd en namngiven volym så att databasinformation överlever omstarter och ombyggnader.
services:
db:
image: postgres:16
volumes:
- dbdata:/var/lib/postgresql/data
volumes:
dbdata:Startordning med depends_on
depends_on styr startordningen, men väntar inte tills en tjänst är redo. Kombinera det med en healthcheck så att webbappen väntar tills databasen accepterar anslutningar.
Starta och stoppa
Starta allt i bakgrunden med up -d och stoppa med down. Lägg till --build för att bygga om images efter kodändringar.
docker compose up -d --build
docker compose downVisa loggar
Sammanställ loggar från alla tjänster eller följ en enskild tjänst. Det är nödvändigt för att felsöka hur containrarna samverkar.
docker compose logs -f webSkala en tjänst
Kör flera kopior av en tillståndslös tjänst för att hantera högre belastning. Placera en lastbalanserare eller reverse proxy framför för att fördela trafiken.
docker compose up -d --scale web=3Compose för utveckling respektive produktion
Använd en basfil med compose.yaml samt en override-fil för varje miljö. I utvecklingsmiljön kan källkoden monteras för hot reload; i produktion används färdigbyggda images och striktare omstartspolicyer.
Snabbtest
Testa dina kunskaper om Docker Compose.
Sammanfattning
Ni har lärt er att orkestrera appar med flera containrar med Docker Compose:
- Definiera tjänster i
compose.yaml - Anslut dem via nätverk baserat på tjänstenamn
- Bevara data med volymer och styr ordningen med depends_on/healthcheck
- Använd
up,down, loggar och skalning
Compose gör lokala miljöer och produktionsmiljöer med flera tjänster reproducerbara.
Lär dig AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Appar med flera containrar med Docker Compose” gratis?
Ja – hela texten till ”Appar med flera containrar med Docker Compose” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning, kan Ni uppgradera till CoddyKit PRO. Kursen i AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning innehåller totalt 4 lektioner.
Vad lär jag mig i ”Appar med flera containrar med Docker Compose”?
Använd Docker Compose för att definiera och köra applikationer med flera tjänster (app, databas, cache) tillsammans med en enda deklarativ fil. Ni övar på AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning?
Du behöver inga förkunskaper. Utbildningen i AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Appar med flera containrar med Docker Compose”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning-lektionen?
Ja. Varje AI-drivna SaaS-appar: Stripe + autentisering + fakturering + driftsättning-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Kontein distribuera applikationen med Docker
- Introduktion till molnleverantörer
- Driftsätta till en virtuell molnmaskin
- Appar med flera containrar med Docker Compose