Grundlæggende systemdesign for backendudviklere · Lektion

Containerisering med Docker og K8s

Bliv fortrolig med Docker til containerisering af applikationer og Kubernetes til orkestrering af containeriserede workloads i stor skala.

Lektion 2 af 411 trin

Containerisering med Docker og K8s er en gratis Grundlæggende systemdesign for backendudviklere-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Grundlæggende systemdesign for backendudviklere, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Grundlæggende systemdesign for backendudviklere-kurset indeholder 4 lektioner i alt.

Velkommen til containerisering!

Velkommen til denne lektion om containerisering med Docker og Kubernetes! I moderne cloudmiljøer er det vigtigt at pakke og administrere applikationer effektivt.

Du lærer, hvordan Docker-containere samler dine apps, og hvordan Kubernetes orkestrerer dem i stor skala, så dine systemer bliver robuste og fleksible.

Hvad er containere?

Forestil dig en lille, selvstændig kasse til din applikation. Det er en container!

  • Isoleret: Hver container kører sin egen app og sine egne afhængigheder, adskilt fra andre.
  • Portabel: Den fungerer på samme måde på enhver maskine med en container-runtime.
  • Letvægt: Den deler værtsoperativsystemets kerne i modsætning til tungere virtuelle maskiner (VM'er).

Denne ensartethed løser problemet med, at "det virker på min maskine".

Mød Docker: containermotoren

Docker er den mest populære platform til at bygge, dele og køre containere. Den leverer værktøjerne til at oprette disse isolerede miljøer.

  • Docker Engine: Kernesoftwaren, der kører og administrerer containere.
  • Docker Image: En skrivebeskyttet skabelon med instruktioner til at oprette en container.
  • Docker Container: En kørbar instans af et Docker-image.

Opret en Dockerfile

En Dockerfile er en almindelig tekstfil, der indeholder alle de kommandoer, som en bruger kan kalde på kommandolinjen for at samle et image.

Den fungerer som en opskrift på din container. Her er nogle almindelige instruktioner:

  • FROM: Basisimage (f.eks. Python, Node.js).
  • WORKDIR: Angiver arbejdsbiblioteket.
  • COPY: Kopierer filer fra dit projekt ind i imaget.
  • RUN: Udfører kommandoer (f.eks. installation af afhængigheder).
  • CMD: Standardkommandoen, der køres, når containeren starter.

Enkel Python-app til Docker

Lad os se på en meget enkel Python-applikation, som vi kan containerisere. Det er koden, der skal ligge i din Docker-container.

Prøv at køre dette eksempel:

print("Hello from inside the container!")

Byg og kør med Docker

Når du har en Dockerfile og din applikationskode (f.eks. Python-scriptet), kan du bygge et image og køre en container.

  • Byg image: docker build -t my-python-app . (-t mærker det, og . bruger det aktuelle bibliotek til Dockerfile)
  • Kør container: docker run my-python-app

Det opretter og starter en container baseret på dit image og udfører appen inde i den.

Hvorfor Kubernetes? Orkestrering

Det er nemt at køre én container. Det er svært at køre hundredvis eller tusindvis på tværs af mange servere! Det er her, Kubernetes (K8s) kommer ind i billedet.

K8s er et open source-system til automatisering af implementering, skalering og administration af containeriserede applikationer. Det fungerer som en "orkestrator" for dine containere.

Kubernetes Pods: Det grundlæggende

I Kubernetes er den mindste enhed, der kan implementeres, en Pod. En Pod er en abstraktion oven på containere.

  • En Pod repræsenterer én instans af en applikation.
  • Den indeholder typisk én eller nogle få tæt forbundne containere.
  • Pods deler netværks- og lagerressourcer.
  • De er midlertidige: Hvis en Pod dør, opretter K8s en ny.

Kubernetes Deployments: Administration af Pods

Det er besværligt at administrere Pods manuelt. Deployments er et objekt på højere niveau i K8s, som administrerer Pods' livscyklus.

Et Deployment giver dig mulighed for at:

  • Angive det ønskede antal replika-Pods.
  • Udføre løbende opdateringer til nye versioner uden nedetid.
  • Rulle tilbage til tidligere versioner, hvis der opstår problemer.
  • Sikre, at et angivet antal Pods altid kører.

Test din viden om containere

Hvilke af følgende udsagn beskriver korrekt fordelene ved at bruge containere og containerorkestrering?

Opsummering: Docker og Kubernetes

Du har taget et stort skridt ind i cloud-native-udvikling!

  • Containere pakker apps og afhængigheder i isolerede, portable enheder.
  • Docker er det populære værktøj til at bygge og køre disse containere.
  • Kubernetes orkestrerer containere i stor skala og automatiserer udrulning, skalering og administration.

Tilsammen udgør de fundamentet for at bygge robuste, skalerbare moderne applikationer.

Gratis at komme i gang

Lær Grundlæggende systemdesign for backendudviklere med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Containerisering med Docker og K8s” gratis?

Ja — hele teksten til “Containerisering med Docker og K8s” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Grundlæggende systemdesign for backendudviklere-kurset, skal du opgradere til CoddyKit PRO. Grundlæggende systemdesign for backendudviklere-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Containerisering med Docker og K8s”?

Bliv fortrolig med Docker til containerisering af applikationer og Kubernetes til orkestrering af containeriserede workloads i stor skala. Du øver dig i Grundlæggende systemdesign for backendudviklere med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Grundlæggende systemdesign for backendudviklere?

Der kræves ingen tidligere erfaring. Grundlæggende systemdesign for backendudviklere på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Containerisering med Docker og K8s”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Grundlæggende systemdesign for backendudviklere-lektion?

Ja. Alle Grundlæggende systemdesign for backendudviklere-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Serverless-arkitekturer
  2. Containerisering med Docker og K8s
  3. Observability og distribueret tracing
  4. Infrastruktur som kode
← Tilbage til Grundlæggende systemdesign for backendudviklere