Blog

Tutorials, handleidingen en productnieuws.

Ontwikkelaars

Wat is Docker en hoe gebruik je het op een VPS?

3 november 2026 6 min. leestijd
Dit bericht delen

Docker is een tool die een applicatie samen met alles wat die nodig heeft draait in een geïsoleerd pakket dat een container heet. Docker gebruiken op een VPS betekent dat je een app start vanuit een kant-en-klaar pakket in plaats van hem stuk voor stuk op de server te installeren. Installeren en verwijderen kost een paar opdrachten, en apps verstoren elkaars instellingen niet.

Anders dan een virtuele machine heeft een container geen eigen besturingssysteem. Hij deelt de kernel van de server, dus hij start in seconden en gebruikt weinig geheugen. De keerzijde is dat de isolatie minder sterk is dan bij een virtuele machine.

Vier termen zijn genoeg om te beginnen

TermWat het betekent
ImageHet kant-en-klare pakket van een applicatie. Het wordt gedownload uit een registry zoals Docker Hub.
ContainerEen draaiende kopie die vanuit een image is gestart.
VolumePersistente opslag die je gegevens bewaart, ook als de container wordt verwijderd.
ComposeEen tool die meerdere containers in één bestand compose.yaml definieert en met één opdracht beheert.

Een container verwijderen verwijdert de bestanden erin. Koppel alles wat moet blijven bestaan, zoals een database, aan een volume of aan een map van de server.

Hoe installeer je Docker op Ubuntu?

Verbind eerst via SSH met de server. Het pakket docker.io uit de repositories van Ubuntu werkt, en de voorgeïnstalleerde Docker-server van Seturack gebruikt het. Gebruik voor de nieuwste versie de eigen apt-repository van Docker. Volgens de officiële documentatie van Docker conflicteren Ubuntu-pakketten zoals docker.io en docker-compose met de eigen pakketten van Docker, dus verwijder ze eerst als ze geïnstalleerd zijn.

  1. Volg het onderdeel "apt repository" op de installatiepagina van Docker voor Ubuntu om de ondertekeningssleutel en de bron van de repository toe te voegen. Voer de opdrachten daar ongewijzigd uit, want ze veranderen per release.
  2. Installeer de pakketten: sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  3. Controleer of de dienst draait: sudo systemctl status docker
  4. Draai de testcontainer: sudo docker run --rm hello-world

Zie je het welkomstbericht, dan is Docker klaar. Op Ubuntu en Debian start de dienst bij elke boot vanzelf.

Je eerste container

Start een webserver met één opdracht:

docker run -d --name web --restart unless-stopped -p 80:80 nginx:1.30

-d draait de container op de achtergrond. --restart unless-stopped start hem opnieuw als de server herstart of de container crasht. -p 80:80 koppelt poort 80 van de server aan de container. nginx:1.30 is de naam van de image met de versietag. De tag is maar een voorbeeld, kies dus de actuele stabiele tag op de officiële Nginx-pagina op Docker Hub. Open het IP-adres van de server in een browser en je ziet de welkomstpagina van Nginx. Verwijder hem met docker rm -f web.

Koppel een volume voor persistente gegevens, bijvoorbeeld -v sitedata:/usr/share/nginx/html. Volumes toon je met docker volume ls. Diensten in hetzelfde bestand compose.yaml bereiken elkaar via de dienstnaam, dus je applicatie verbindt bijvoorbeeld met de database als db.

Heb je meerdere containers, zet ze dan allemaal in een bestand compose.yaml en voer docker compose up -d uit in de map van het bestand. De sleutels image, restart, ports en volumes in het bestand komen overeen met de vlaggen hierboven. De status controleer je met docker compose ps, logs lees je met docker compose logs -f en alles sluit je af met docker compose down.

Opdrachten die je elke dag gebruikt

OpdrachtWat het doet
docker psToont draaiende containers. Voeg -a toe om ook gestopte te zien.
docker logs -f webVolgt het log van de container web live.
docker exec -it web shOpent een shell in de container.
docker statsToont het CPU- en geheugengebruik van de containers.
docker compose pull en docker compose up -dDownloadt de nieuwe image en vervangt de container door de nieuwe. Gegevens in volumes blijven bewaard.

Lees voor je bijwerkt de release notes van de app en verhoog zelf de versietag in het compose-bestand. Het nut van het vastzetten van de tag is dat een update een beslissing wordt, geen ongelukje.

Vier dingen om op te letten

  • Docker omzeilt ufw-regels. Volgens de officiële documentatie worden poorten die Docker publiceert geopend voordat de regels van ufw gelden. Een ufw-regel die zo'n poort weigert, heeft geen effect. Bind een dienst die niet van buitenaf bereikbaar mag zijn alleen aan het lokale adres, bijvoorbeeld -p 127.0.0.1:5432:5432. Containers op hetzelfde Docker-netwerk kunnen elkaar al bereiken, dus een database hoef je niet te publiceren.
  • De tag latest. Geef je geen tag, dan wordt latest opgehaald. Bij de volgende pull kan je app naar een versie springen die je niet verwachtte. Schrijf een specifieke tag en plan updates zelf in.
  • De groep docker betekent root. Een gebruiker toevoegen aan de groep docker geeft die gebruiker rechten op rootniveau (officiële documentatie). Voeg alleen accounts toe die je vertrouwt.
  • Logs en images vullen de schijf. De standaard loginstelling van Docker heeft geen groottelimiet. Stel er een in op de container: --log-opt max-size=10m --log-opt max-file=3. docker system df toont het schijfgebruik en docker image prune verwijdert images zonder tag.

Docker of een directe installatie?

Docker helpt als je meerdere apps draait die verschillende versies nodig hebben op één server, als je een app wilt proberen en netjes weer wilt verwijderen, of als de ontwikkelaar een officiële image publiceert. Voor een eenvoudig geval zoals één WordPress-site is een directe installatie ook prima. Docker is een extra laag: bijwerken, in de gaten houden en back-ups van de volumes maken is jouw taak. Twijfel je, begin dan met één kleine applicatie. Je hoeft niet alles in één keer naar Docker te verhuizen.

Docker staat klaar bij Seturack

Wil je Docker niet zelf installeren, dan kun je een server bestellen met de Docker-app. Docker en Compose zijn geïnstalleerd en de installatie duurt ongeveer 2,5 minuut. De firewall (ufw) staat aan en alleen de SSH-poort staat open naar buiten, fail2ban beschermt SSH en containerlogs zijn beperkt tot 3 bestanden van 10 MB per container. De app heeft geen webinterface, dus het paneel toont geen siteadres. De poortvalkuil hierboven geldt ook hier. Wil je met een kant-en-klare server beginnen, zie dan de pagina over Docker VPS.

Kant-en-klaar bij Seturack: Portainer, Coolify, Dokploy.

Reacties0

Nog geen reacties

Deel als eerste uw gedachten.

Doe mee aan het gesprek

Meld u aan of registreer u om een reactie te plaatsen.

Mis geen enkel bericht

Ontvang onze nieuwste tutorials, handleidingen en productnieuws in uw inbox.

U bent ingeschreven voor onze nieuwsbrief.