Bygning af Docker-images med Actions
Automatisér processen med at bygge Docker-images til Deres applikationer direkte i Deres GitHub Actions-workflows.
Bygning af Docker-images med Actions er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.
Hvad er Docker-images?
Velkommen! I denne lektion lærer du at bygge Docker-images med GitHub Actions.
Hvad er så et Docker-image? Forestil dig det som en let, selvstændig og kørbar pakke, der indeholder alt, hvad der skal til for at køre et stykke software:
- Din kode
- Et kørselsmiljø (f.eks. Java, Python)
- Systemværktøjer og biblioteker
- Konfigurationsfiler
Det fungerer som en skabelon til oprettelse af Docker-containere og sikrer, at din applikation kører ensartet i forskellige miljøer.
Hvorfor automatisere Docker-opbygninger?
Manuel opbygning af Docker-images kan være ensformig og fejlbehæftet. Her er automatisering nyttig!
Ved at integrere opbygning af Docker-images i dit CI/CD-forløb med GitHub Actions får du:
- Ensartethed: Hver opbygning følger de samme trin.
- Hastighed: Automatiske opbygninger er hurtigere end manuelle.
- Pålidelighed: Færre menneskelige fejl.
- Integration: Opbygninger udløses automatisk ved kodeændringer.
Det er en central praksis i moderne DevOps!
Dockerfile-skabelonen
En Dockerfile er en tekstfil, der indeholder alle kommandoerne til at samle et Docker-image. Det er som en opskrift.
Her er et meget enkelt Dockerfile-eksempel:
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello from Docker!"]Forstå Dockerfile
Lad os gennemgå den enkle Dockerfile:
FROM alpine:latest: Dette angiver basis-imaget. Vi tager udgangspunkt i en lille Linux-distribution, der hedder Alpine.WORKDIR /app: Angiver arbejdsbiblioteket inde i imaget.COPY . .: Kopierer alle filer fra projektbiblioteket til/app-biblioteket inde i imaget.CMD ["echo", "Hello from Docker!"]: Dette er kommandoen, der køres, når en container starter fra dette image.
Denne fil ligger i roden af dit projekt.
Konfigurer din arbejdsgang
For at bygge Docker-images med GitHub Actions opretter du en YAML-fil (f.eks. .github/workflows/docker-build.yml) i dit kodearkiv.
Denne fil definerer din arbejdsgang, som består af en række automatiserede trin.
En grundlæggende arbejdsgang til opbygning af et image omfatter normalt:
- Hente din kode.
- Konfigurere Docker-opbygningsmiljøet.
- Bygge Docker-imaget.
Trin 1: Hent din kode
Det første trin i næsten enhver GitHub Actions-arbejdsgang er at hente koden fra dit kodearkiv. Det gør du med handlingen actions/checkout.
Den kloner dit kodearkiv til runneren, så din Dockerfile og applikationskode er tilgængelige under opbygningen.
Sådan ser det ud i din arbejdsgangsfil:
- name: Checkout repository code
uses: actions/checkout@v4Trin 2: Konfigurer Docker Buildx
Nu skal du konfigurere Docker-opbygningsmiljøet. Handlingen docker/setup-buildx-action anbefales stærkt.
Buildx er en Docker-komponent, der udvider Dockers opbygningsmuligheder og understøtter avancerede funktioner som opbygning til flere platforme.
Føj dette trin til din arbejdsgang:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3Trin 3: Byg Docker-imaget
Nu til det vigtigste: opbygningen af imaget! Til det bruger vi docker/build-push-action.
Vigtige indstillinger:
context: .: Angiver opbygningskonteksten (normalt roden af dit kodearkiv).push: false: Indtil videre bygger vi blot uden at sende imaget til et containerregister. Vi gennemgår, hvordan du sender images senere.tags: my-app:latest: Tildeler imaget et navn og et tag.
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestEksempel på komplet opbygningsarbejdsgang
Her er den komplette GitHub Actions-arbejdsgang til at bygge et Docker-image. Husk, at denne YAML-kode skal placeres i .github/workflows/docker-build.yml.
Denne arbejdsgang udløses ved hver ændring, der sendes til dit kodearkiv.
name: Build Simple Docker Image
on: [push]
jobs:
build-image:
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestHurtigt tjek
Lad os teste din forståelse af, hvordan man bygger Docker-images med GitHub Actions.
Opsummering: Opbygning af Docker-images
Godt gået! Du har lært de grundlæggende principper for automatisering af Docker-image-opbygninger med GitHub Actions.
Vi har gennemgået:
- Hvad Docker-images er, og hvorfor de er afgørende.
- Rollen for en
Dockerfilesom skabelon for imaget. - Konfiguration af en grundlæggende GitHub Actions-arbejdsgang.
- Brug af vigtige handlinger som
actions/checkout,docker/setup-buildx-actionogdocker/build-push-action.
I næste lektion undersøger vi, hvordan du sender disse opbyggede images til et containerregister!
Lær Intensiv DevOps-uddannelse 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
- 142
- Lektioner
- 568
Ofte stillede spørgsmål
Er lektionen “Bygning af Docker-images med Actions” gratis?
Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Bygning af Docker-images med Actions”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Bygning af Docker-images med Actions”?
Automatisér processen med at bygge Docker-images til Deres applikationer direkte i Deres GitHub Actions-workflows. Du øver dig i Intensiv DevOps-uddannelse 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å Intensiv DevOps-uddannelse?
Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse 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 1 af 4.
Hvor lang tid tager lektionen “Bygning af Docker-images med Actions”?
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 Intensiv DevOps-uddannelse-lektion?
Ja. Alle Intensiv DevOps-uddannelse-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
- Bygning af Docker-images med Actions
- Push af images til registries
- Deployment til Kubernetes med Actions
- Helm Charts og Kubernetes-manifester i CI/CD