Containerisatie met Docker
Maak Dockerfiles, bouw images en voer uw Node.js-applicatie uit in containers voor consistente omgevingen.
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 /appDockerfile: 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-appControle 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.
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
- Containerisatie met Docker
- Implementatie in de cloud (AWS/Heroku)
- Procesbeheer met PM2
- CI/CD-pipelines met GitHub Actions