Containerisering med Docker
Opret Dockerfiles, byg images, og kør Deres Node.js-applikation i containere for at sikre ensartede miljøer.
Containerisering med Docker er en gratis Bootcamp i backendudvikling med Node.js-lektion på CoddyKit. Dette er lektion 1 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 Bootcamp i backendudvikling med Node.js, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Bootcamp i backendudvikling med Node.js-kurset indeholder 4 lektioner i alt.
Docker: Ensartede miljøer
Velkommen til containerisering med Docker! Docker hjælper med at pakke din applikation og dens afhængigheder i en samlet enhed kaldet en container.
Det sikrer, at din app kører ensartet i forskellige miljøer, fra din bærbare computer til produktionsservere.
Images og containere
Tænk på et Docker-image som en blueprint eller skabelon. Det er en let, selvstændig og eksekverbar softwarepakke, der indeholder alt, hvad der skal til for at køre en applikation: kode, runtime, systemværktøjer, systembiblioteker og indstillinger.
En Docker-container er en kørende instans af et image. Du kan have flere containere kørende fra det samme image, hvor hver container er isoleret fra de andre.
Hvorfor Docker til Node.js?
Docker giver betydelige fordele for Node.js-applikationer:
- Konsistens: Slut med problemer som »det virker på min maskine«.
- Isolation: Din Node.js-app kører i sit eget miljø, hvilket forhindrer konflikter.
- Afhængigheder: Du kan nemt administrere og pakke alle dine npm-afhængigheder.
- Skalerbarhed: Du kan hurtigt implementere og skalere identiske instanser af din app.
Dockerfile forklaret
En Dockerfile er en simpel tekstfil, der indeholder et sæt instruktioner. Disse instruktioner fortæller Docker, hvordan imaget til din applikation skal bygges.
Den definerer alt fra basisoperativsystemet til kopiering af filer, installation af afhængigheder og angivelse af, hvordan din applikation skal starte.
Simpel Node.js-app
Lad os oprette en minimal Node.js-applikation, som vi kan køre i en container. Denne simple server svarer med »Hello from Node.js in Docker!« på port 3000.
Du kan køre denne kode for at se den fungere lokalt, før du dockerificerer den.
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello from Node.js in Docker!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});Dockerfile: Basisimage og arbejdsmappe
Alle Dockerfiles starter med en FROM-instruktion, der angiver basisimaget. Til Node.js bruger vi ofte officielle Node.js-images. WORKDIR angiver arbejdsbiblioteket inde i containeren.
FROM node:18-alpine
WORKDIR /appDockerfile: Afhængigheder og filer
Først kopierer vi package.json og package-lock.json (hvis filen findes) for at installere afhængighederne. Derefter kopierer vi resten af applikationens filer. Denne rækkefølge optimerer Dockers caching.
COPY package*.json ./: Kopierer pakkefiler.RUN npm install: Installerer afhængigheder.COPY . .: Kopierer alle andre appfiler.
COPY package*.json ./
RUN npm install
COPY . .Dockerfile: Port og startkommando
Til sidst fortæller vi Docker, hvilken port vores applikation lytter på, ved hjælp af EXPOSE. Dette er dokumentation og ikke en firewallregel. CMD definerer den kommando, der skal køres, når containeren starter.
EXPOSE 3000
CMD ["npm", "start"]Byg dit Docker-image
Når din Dockerfile er klar (og din app.js og package.json ligger i det samme bibliotek), kan du bygge imaget. Flaget -t giver dit image et navn (f.eks. my-node-app).
Åbn din terminal, og kør:
docker build -t my-node-app .Kør din Docker-container
Efter bygningen kan du køre din applikation i en Docker-container. Flaget -p 3000:3000 forbinder port 3000 på din værtsmaskine med port 3000 inde i containeren.
Besøg http://localhost:3000 i din browser efter at have kørt:
docker run -p 3000:3000 my-node-appKontrol af Dockerfile-instruktioner
Hvilke af følgende Dockerfile-instruktioner bruges primært til at administrere afhængigheder og applikationsfiler i imaget?
Opsummering: Docker til Node.js
Du har lært det grundlæggende om containerisering med Docker! Vi gennemgik:
- Hvad Docker-images og -containere er.
- Fordelene ved Docker til Node.js-apps.
- Sådan skriver du en Dockerfile til en Node.js-applikation.
- Kommandoer til at bygge et image og køre en container.
Docker er en effektiv måde at sikre, at dine applikationer er konsistente og nemme at implementere.
Lær JavaScript 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
- 22
- Lektioner
- 92
Ofte stillede spørgsmål
Er lektionen “Containerisering med Docker” gratis?
Ja — hele teksten til “Containerisering med Docker” 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 Bootcamp i backendudvikling med Node.js-kurset, skal du opgradere til CoddyKit PRO. Bootcamp i backendudvikling med Node.js-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Containerisering med Docker”?
Opret Dockerfiles, byg images, og kør Deres Node.js-applikation i containere for at sikre ensartede miljøer. Du øver dig i Bootcamp i backendudvikling med Node.js 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å Bootcamp i backendudvikling med Node.js?
Der kræves ingen tidligere erfaring. Bootcamp i backendudvikling med Node.js 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 “Containerisering med Docker”?
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 Bootcamp i backendudvikling med Node.js-lektion?
Ja. Alle Bootcamp i backendudvikling med Node.js-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
- Containerisering med Docker
- Cloud-udrulning (AWS/Heroku)
- Processtyring med PM2
- CI/CD-pipelines med GitHub Actions