DevOps-bootcamp · Lektion

Vad är Docker Compose?

Förstå syftet med Docker Compose och hur det orkestrerar applikationer med flera containrar.

Lektion 1 av 411 steg

Vad är Docker Compose? är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Välkommen till Docker Compose!

Välkommen! Hittills har du lärt dig att köra enskilda containrar. Men vad gör du om programmet behöver fler än en?

De flesta verkliga program består inte av bara en container. De innehåller ofta en webbserver, en databas, en cache och mycket mer!

Vad är Docker Compose? — illustration 1

Utmaningen med flera containrar

Föreställ dig att du kör en webbapp med en databas. Du skulle behöva separata docker run-kommandon för varje del.

Det blir snabbt komplicerat! Hur kommunicerar de med varandra? Hur startar du alla i rätt ordning?

Att hantera flera containrar och deras anslutningar manuellt kan vara tidskrävande och felbenäget.

Docker Compose gör entré

Det är här Docker Compose kommer in i bilden! Det är ett verktyg för att definiera och köra Docker-program med flera containrar.

I stället för många enskilda docker run-kommandon definierar du hela programmets stack i en enda konfigurationsfil.

Compose-filen: docker-compose.yml

Docker Compose använder en fil med namnet docker-compose.yml (eller ett liknande namn) för att konfigurera programmets tjänster.

Filen använder ett enkelt, lättläst format som kallas YAML (Yet Another Markup Language) för att beskriva allt.

Den fungerar som en ritning för hela programmet.

Vad är tjänster i Compose?

I en docker-compose.yml-fil kallas varje del av programmet för en service.

  • En tjänst motsvarar vanligtvis en enda container.
  • Du definierar vilken Docker-avbildning den använder.
  • Du kan konfigurera dess portar, volymer, miljövariabler, beroenden och mycket mer!

Compose hanterar nätverk

En av Docker Composes stora fördelar är hur enkelt det gör nätverk mellan dina containrar.

Som standard skapar Compose ett enda nätverk för alla tjänster som definieras i filen docker-compose.yml.

Det gör att dina tjänster (till exempel webbappen och databasen) enkelt kan kommunicera med varandra genom att använda tjänsternas namn som värdnamn.

Hantera data med Compose

Precis som enskilda containrar behöver program med flera containrar ofta beständig data.

Med Docker Compose kan du definiera och hantera volymer i filen docker-compose.yml.

Det säkerställer till exempel att databasinformationen inte går förlorad när containrar stoppas eller tas bort, vilket bevarar dataintegriteten.

Det enkla Compose-arbetsflödet

När filen docker-compose.yml är klar är det mycket enkelt att köra hela programmet!

Gå bara till katalogen som innehåller filen och kör docker compose up.

Det här kommandot bygger (vid behov), skapar, startar och ansluter till containrar för alla tjänster som definieras i filen.

Varför använda Compose? Viktiga fördelar

Docker Compose erbjuder flera fördelar, särskilt i utvecklings- och testmiljöer:

  • Ett enda kommando: Starta eller stoppa hela programmet med ett kommando.
  • Reproducerbarhet: Säkerställer att alla kör exakt samma konfiguration.
  • Isolering: Tjänster körs i isolerade miljöer.
  • Enklare utveckling: Utmärkt för lokala utvecklingsmiljöer och snabba tester.

Snabbkontroll!

Du har lärt dig grundidén bakom Docker Compose.

Nu ska vi se om du kan identifiera dess huvudsakliga syfte!

Sammanfattning: orkestrera dina program

Bra jobbat! Nu förstår du grundkonceptet Docker Compose.

  • Det förenklar körningen av program med flera containrar.
  • Det använder en enda YAML-fil (docker-compose.yml) för att definiera alla tjänster.
  • Det hanterar nätverk och beständig data för dina tjänster.
  • Det gör utveckling och distribution av komplexa program mycket enklare!

Härnäst lär du dig att skriva din första docker-compose.yml-fil!

Gratis att börja

Lär dig DevOps-bootcamp 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
142
Lektioner
568

Vanliga frågor

Är lektionen ”Vad är Docker Compose?” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Vad är Docker Compose?”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Vad är Docker Compose?”?

Förstå syftet med Docker Compose och hur det orkestrerar applikationer med flera containrar. Ni övar på DevOps-bootcamp 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 DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp 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 1 av 4.

Hur lång tid tar lektionen ”Vad är 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 DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-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

  1. Vad är Docker Compose?
  2. Skriv en Compose-fil
  3. Distribuera appar med flera tjänster
  4. Miljövariabler och .env-filer
← Tillbaka till DevOps-bootcamp