Bootcamp backendontwikkeling met Node.js · Les

Containerisatie met Docker

Maak Dockerfiles, bouw images en voer uw Node.js-applicatie uit in containers voor consistente omgevingen.

Les 1 van 412 stappen

Containerisatie met Docker is een gratis Bootcamp backendontwikkeling met Node.js-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Bootcamp backendontwikkeling met Node.js. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Bootcamp backendontwikkeling met Node.js bevat in totaal 4 lessen.

Docker: consistente omgevingen

Welkom bij containerisatie met Docker! Docker helpt je applicatie en de bijbehorende afhankelijkheden te verpakken in één geheel, een container genoemd.

Zo draait je app consistent in verschillende omgevingen, van je laptop tot productieservers.

Images versus containers

Zie een Docker-image als een blauwdruk of sjabloon. Het is een lichtgewicht, zelfstandig uitvoerbaar softwarepakket dat alles bevat wat nodig is om een toepassing uit te voeren: code, runtime, systeemhulpprogramma's, systeembibliotheken en instellingen.

Een Docker-container is een actieve instantie van een image. Je kunt meerdere containers vanuit dezelfde image uitvoeren, waarbij elke container van de andere is geïsoleerd.

Waarom Docker voor Node.js?

Docker biedt aanzienlijke voordelen voor Node.js-toepassingen:

  • Consistentie: Geen problemen meer met 'het werkt op mijn computer'.
  • Isolatie: Je Node.js-toepassing draait in een eigen omgeving, waardoor conflicten worden voorkomen.
  • Afhankelijkheden: Beheer en verpak al je npm-afhankelijkheden eenvoudig.
  • Schaalbaarheid: Implementeer snel identieke instanties van je toepassing en schaal ze op.

De Dockerfile uitgelegd

Een Dockerfile is een eenvoudig tekstbestand met een reeks instructies. Deze instructies vertellen Docker hoe de image van je toepassing moet worden opgebouwd.

Het bestand definieert alles, van het basisbesturingssysteem tot het kopiëren van bestanden, het installeren van afhankelijkheden en het opgeven van hoe je toepassing moet starten.

Eenvoudige Node.js-toepassing

Laten we een minimale Node.js-toepassing maken die we in een container plaatsen. Deze eenvoudige server antwoordt op poort 3000 met 'Hello from Node.js in Docker!'.

Je kunt deze code uitvoeren om lokaal te zien hoe de toepassing werkt voordat je Docker gebruikt.

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 en werkmap

Elke Dockerfile begint met een FROM-instructie die de basisimage opgeeft. Voor Node.js gebruiken we vaak officiële Node.js-images. WORKDIR stelt de werkmap in binnen de container.

FROM node:18-alpine
WORKDIR /app

Dockerfile: afhankelijkheden en bestanden

Vervolgens kopiëren we package.json en package-lock.json (indien aanwezig) om afhankelijkheden te installeren. Daarna kopiëren we de overige bestanden van onze toepassing. Deze volgorde optimaliseert de caching van Docker.

  • COPY package*.json ./: Kopieert pakketbestanden.
  • RUN npm install: Installeert afhankelijkheden.
  • COPY . .: Kopieert alle overige bestanden van de toepassing.
COPY package*.json ./
RUN npm install
COPY . .

Dockerfile: poort en startopdracht

Ten slotte vertellen we Docker op welke poort onze toepassing luistert met EXPOSE. Dit is documentatie, geen firewallregel. CMD definieert de opdracht die wordt uitgevoerd wanneer de container start.

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

Je Docker-image bouwen

Wanneer je Dockerfile klaar is (en app.js en package.json in dezelfde map staan), kun je de image bouwen. De vlag -t voorziet je image van een naam (bijvoorbeeld my-node-app).

Open je terminal en voer het volgende uit:

docker build -t my-node-app .

Je Docker-container uitvoeren

Na het bouwen kun je je toepassing in een Docker-container uitvoeren. De vlag -p 3000:3000 koppelt poort 3000 op je hostcomputer aan poort 3000 in de container.

Ga na het uitvoeren naar http://localhost:3000 in je browser:

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

Controle van Dockerfile-instructies

Welke van de volgende Dockerfile-instructies worden voornamelijk gebruikt om afhankelijkheden en toepassingsbestanden in de image te beheren?

Samenvatting: Docker voor Node.js

Je hebt de basis van containerisatie met Docker geleerd! We hebben het volgende behandeld:

  • Wat Docker-images en -containers zijn.
  • De voordelen van Docker voor Node.js-toepassingen.
  • Hoe je een Dockerfile voor een Node.js-toepassing schrijft.
  • Opdrachten om een image te bouwen en een container uit te voeren.

Docker biedt een krachtige manier om ervoor te zorgen dat je toepassingen consistent en eenvoudig te implementeren zijn.

Gratis beginnen

Leer JavaScript met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
22
Lessen
92

Veelgestelde vragen

Is de les “Containerisatie met Docker” gratis?

Ja — de volledige tekst van “Containerisatie met Docker” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Bootcamp backendontwikkeling met Node.js wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Bootcamp backendontwikkeling met Node.js bevat in totaal 4 lessen.

Wat leer ik in “Containerisatie met Docker”?

Maak Dockerfiles, bouw images en voer uw Node.js-applicatie uit in containers voor consistente omgevingen. Je oefent met Bootcamp backendontwikkeling met Node.js door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Bootcamp backendontwikkeling met Node.js te beginnen?

Ervaring vooraf is niet nodig. Bootcamp backendontwikkeling met Node.js op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Containerisatie met Docker”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Bootcamp backendontwikkeling met Node.js?

Ja. Elke les over Bootcamp backendontwikkeling met Node.js bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Containerisatie met Docker
  2. Implementatie in de cloud (AWS/Heroku)
  3. Procesbeheer met PM2
  4. CI/CD-pipelines met GitHub Actions
← Terug naar Bootcamp backendontwikkeling met Node.js