Forstå Dockerfiles
Lær syntaksen og de almindelige instruktioner i Dockerfiles, som definerer, hvordan et image bygges.
Forstå Dockerfiles er en gratis Grundlæggende Docker og DevOps-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 Grundlæggende Docker og DevOps, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Grundlæggende Docker og DevOps-kurset indeholder 4 lektioner i alt.
Hvad er en Dockerfile?
Forestil dig, at du har en opskrift på en kage. En Dockerfile ligner meget! Det er en almindelig tekstfil, der indeholder alle de instruktioner, Docker skal bruge til automatisk at bygge et Docker-image.
I stedet for at blande ingredienser fortæller du Docker, hvilket basisoperativsystem der skal bruges, hvilken software der skal installeres, og hvordan din app skal sættes op inde i imaget.

Fordele: Automatiseret build
Dockerfiles giver mange fordele i din udviklingsarbejdsgang:
- Automatisering: Slut med manuelle trin! Docker bygger images ensartet hver gang.
- Versionsstyring: Dockerfiles er kode, så du kan spore ændringer med Git.
- Genskabelighed: Alle med Dockerfilen kan bygge præcis det samme image.
- Gennemsigtighed: Du kan se præcis, hvad der er i et image.
Grundlæggende Dockerfile-struktur
En Dockerfile er en liste over instruktioner, der udføres i rækkefølge fra top til bund. Hver instruktion opretter et nyt lag i imaget.
Den grundlæggende syntaks er enkel:
INSTRUCTION argumentsKommentarer begynder med en #, ligesom i mange programmeringssprog. Docker-instruktioner skelner ikke mellem store og små bogstaver, men konventionen er at bruge store bogstaver.
Vælg et basisimage med FROM
Alle Dockerfiles skal begynde med instruktionen FROM. Den angiver det basisimage, som dit nye image bygges på. Basisimaget indeholder normalt et operativsystem (for eksempel Alpine Linux) og sommetider forudinstalleret software.
Tænk på det som at vælge dit udgangspunkt – et tomt lærred eller et lærred med nogle grundfarver på forhånd.
FROM alpine:latestUdfør kommandoer med RUN
Instruktionen RUN bruges til at udføre kommandoer under byggeprocessen for imaget. Her installerer du pakker, opretter mapper eller kompilerer kode.
Hver RUN-kommando opretter et nyt lag, så du kan reducere imagets størrelse ved at kombinere kommandoer med &&.
RUN apk update && apk add gitStandardkommando med CMD
Instruktionen CMD angiver standardkommandoer eller -argumenter for en container, der er ved at blive udført. I modsætning til RUN udføres CMD-kommandoer, når en container starter, ikke under buildet.
Hvis du angiver en kommando, når du kører en container (f.eks. docker run my-image ls), tilsidesætter den kommando instruktionen CMD.
CMD ["echo", "Hello from container!"]Tilføj filer med COPY
Instruktionen COPY kopierer nye filer eller mapper fra din værtsmaskine (hvor du bygger imaget) til Docker-imagets filsystem på en angivet sti.
Den foretrækkes generelt frem for ADD, fordi den er mere gennemsigtig og kun kopierer lokale filer.
COPY ./app /usr/src/appArbejdsmappe og miljøvariabler
WORKDIR angiver arbejdsmapper for alle efterfølgende instruktioner med RUN, CMD, ENTRYPOINT, COPY og ADD. Det gør din Dockerfile mere overskuelig.
ENV angiver miljøvariabler. Disse variabler er tilgængelige for efterfølgende instruktioner i Dockerfilen og også for den kørende container.
WORKDIR /app
ENV PORT=8080Oplys om porte med EXPOSE
Instruktionen EXPOSE oplyser Docker om, at containeren lytter på de angivne netværksporte under kørsel. Den offentliggør ikke porten i sig selv.
Tænk på det som dokumentation. Hvis porten faktisk skal være tilgængelig udefra, skal du bruge flaget -p med docker run.
EXPOSE 80
EXPOSE 443Din første enkle Dockerfile
Lad os samle det hele! Her er en grundlæggende Dockerfile, der sætter et Alpine Linux-image op, installerer en pakke og definerer en standardkommando.
Gem den som Dockerfile i en tom mappe, og kør derefter docker build -t my-simple-app . i din terminal for at bygge den.
FROM alpine:latest
LABEL maintainer="CoddyKit"
RUN apk update && apk add --no-cache bash
WORKDIR /app
CMD ["bash", "-c", "echo 'Hello from my custom Alpine image!' && sleep 3600"]Quiz om Dockerfile-instruktioner
Test din viden! Hvilke af disse instruktioner udføres under byggeprocessen for imaget og ændrer direkte imagets indhold eller struktur?
Opsummering: Det vigtigste om Dockerfile
Du har taget et stort skridt i forståelsen af Docker-images! Vi har lært, at Dockerfiles er tekstfiler med instruktioner til at bygge images, og at de giver store fordele som automatisering og genskabelighed.
Vigtige instruktioner, vi har gennemgået:
FROM: Definerer basisimaget.RUN: Udfører kommandoer under buildet.CMD: Angiver standardkommandoen for en kørende container.COPY: Føjer filer fra værten til imaget.WORKDIR,ENV,EXPOSE: Konfigurerer imagets og containerens miljø.
Lær Grundlæggende Docker og DevOps 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 “Forstå Dockerfiles” gratis?
Ja — alle 3 lektioner i læringssporet Grundlæggende Docker og DevOps, inklusive “Forstå Dockerfiles”, 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. Grundlæggende Docker og DevOps-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Forstå Dockerfiles”?
Lær syntaksen og de almindelige instruktioner i Dockerfiles, som definerer, hvordan et image bygges. Du øver dig i Grundlæggende Docker og DevOps 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 Docker og DevOps?
Der kræves ingen tidligere erfaring. Grundlæggende Docker og DevOps 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 “Forstå Dockerfiles”?
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 Docker og DevOps-lektion?
Ja. Alle Grundlæggende Docker og DevOps-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
- Forstå Dockerfiles
- Oprettelse af brugerdefinerede Docker-images
- Imagelag og optimering
- Multi-stage-builds og mindre images