Bootcamp i backendutvikling med Node.js · leksjon

Containerisering med Docker

Opprett Dockerfiles, bygg avbildninger og kjør Node.js-applikasjonen Deres i containere for å sikre ensartede miljøer.

Leksjon 1 av 412 trinn

Containerisering med Docker er en gratis leksjon i Bootcamp i backendutvikling med Node.js på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Bootcamp i backendutvikling med Node.js, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Bootcamp i backendutvikling med Node.js inneholder totalt 4 leksjoner.

Docker: Konsistente miljøer

Velkommen til containerisering med Docker! Docker hjelper Dem med å pakke applikasjonen og avhengighetene dens i én enkelt enhet kalt en container.

Dette sikrer at appen kjører konsistent i ulike miljøer, fra den bærbare datamaskinen Deres til produksjonsservere.

Avbildninger kontra containere

Tenk på et Docker Image som en blåkopi eller mal. Det er en lett, frittstående og kjørbar programvarepakke som inneholder alt som trengs for å kjøre en applikasjon: kode, kjøremiljø, systemverktøy, systembiblioteker og innstillinger.

En Docker Container er en kjørende instans av et image. De kan kjøre flere containere fra samme image, og hver av dem er isolert fra de andre.

Hvorfor Docker for Node.js

Docker gir betydelige fordeler for Node.js-applikasjoner:

  • Konsistens: Slutt på problemer med at «det fungerer på min maskin».
  • Isolasjon: Node.js-appen kjører i sitt eget miljø, noe som hindrer konflikter.
  • Avhengigheter: Administrer og pakk enkelt alle npm-avhengighetene dine.
  • Skalerbarhet: Distribuer og skaler identiske instanser av appen raskt.

Dockerfile forklart

En Dockerfile er en enkel tekstfil som inneholder et sett med instruksjoner. Disse instruksjonene forteller Docker hvordan imaget til applikasjonen skal bygges.

Den definerer alt fra det grunnleggende operativsystemet til kopiering av filer, installasjon av avhengigheter og hvordan applikasjonen skal startes.

Enkel Node.js-app

La oss opprette en minimal Node.js-applikasjon som vi skal kjøre i en container. Denne enkle serveren svarer med «Hello from Node.js in Docker!» på port 3000.

De kan kjøre denne koden for å se at den fungerer lokalt før De legger den i en Docker-container.

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 arbeidskatalog

Alle Dockerfile-filer starter med instruksjonen FROM, som angir basisimaget. For Node.js bruker vi ofte offisielle Node.js-images. WORKDIR angir arbeidskatalogen inne i containeren.

FROM node:18-alpine
WORKDIR /app

Dockerfile: Avhengigheter og filer

Deretter kopierer vi package.json og package-lock.json (hvis filen finnes) for å installere avhengigheter. Så kopierer vi resten av applikasjonsfilene. Denne rekkefølgen optimaliserer Dockers mellomlagring.

  • COPY package*.json ./: Kopierer pakkefiler.
  • RUN npm install: Installerer avhengigheter.
  • COPY . .: Kopierer alle andre appfiler.
COPY package*.json ./
RUN npm install
COPY . .

Dockerfile: Port og startkommando

Til slutt forteller vi Docker hvilken port applikasjonen lytter på, ved hjelp av EXPOSE. Dette er dokumentasjon, ikke en brannmurregel. CMD definerer kommandoen som skal kjøres når containeren starter.

EXPOSE 3000
CMD ["npm", "start"]

Bygge Docker-imaget

Når Dockerfile-filen er klar (og app.js og package.json ligger i samme katalog), kan De bygge imaget. Flagget -t merker imaget med et navn (for eksempel my-node-app).

Åpne terminalen og kjør:

docker build -t my-node-app .

Kjøre Docker-containeren

Etter byggingen kan De kjøre applikasjonen i en Docker-container. Flagget -p 3000:3000 kobler port 3000 på vertsmaskinen til port 3000 inne i containeren.

Gå til http://localhost:3000 i nettleseren etter at De har kjørt:

docker run -p 3000:3000 my-node-app

Kontroll av Dockerfile-instruksjoner

Hvilke av de følgende Dockerfile-instruksjonene brukes hovedsakelig til å administrere avhengigheter og applikasjonsfiler i imaget?

Oppsummering: Docker for Node.js

De har lært det grunnleggende om containerisering med Docker! Vi har gått gjennom:

  • Hva Docker-images og containere er.
  • Fordelene med Docker for Node.js-apper.
  • Hvordan man skriver en Dockerfile for en Node.js-applikasjon.
  • Kommandoer for å bygge et image og kjøre en container.

Docker gir en effektiv måte å sikre at applikasjonene er konsistente og enkle å distribuere.

Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
22
Leksjoner
92

Ofte stilte spørsmål

Er leksjonen «Containerisering med Docker» gratis?

Ja – hele teksten i «Containerisering med Docker» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Bootcamp i backendutvikling med Node.js-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Bootcamp i backendutvikling med Node.js inneholder totalt 4 leksjoner.

Hva lærer jeg i «Containerisering med Docker»?

Opprett Dockerfiles, bygg avbildninger og kjør Node.js-applikasjonen Deres i containere for å sikre ensartede miljøer. Du øver på Bootcamp i backendutvikling med Node.js med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Bootcamp i backendutvikling med Node.js?

Ingen tidligere erfaring er nødvendig. Bootcamp i backendutvikling med Node.js på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Containerisering med Docker»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Bootcamp i backendutvikling med Node.js-leksjonen?

Ja. Alle Bootcamp i backendutvikling med Node.js-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Containerisering med Docker
  2. Skylldistribusjon (AWS/Heroku)
  3. Prosessadministrasjon med PM2
  4. CI/CD-pipelines med GitHub Actions
← Tilbake til Bootcamp i backendutvikling med Node.js