Docker laat u applicaties draaien in containers: geisoleerde omgevingen die alles bevatten wat de applicatie nodig heeft. Geen conflicterende versies, geen "maar het werkt op mijn machine". Websites, databases, bots en gameservers: alles draait in zijn eigen container met zijn eigen dependencies.
Docker installeren op Ubuntu
Gebruik altijd de officiƫle Docker-repository, niet de Ubuntu-repository (die bevat een verouderde versie):
curl -fsSL https://get.docker.com | sh
Dit script detecteert uw distributie en installeert de nieuwste Docker Engine en Docker Compose. Controleer de installatie:
docker --version docker compose version
Uw eerste container
Start een Nginx-webserver in een container:
docker run -d --name webserver -p 80:80 nginx
Open het IP van uw VPS in een browser. U ziet de Nginx-welkomstpagina. De container draait in de achtergrond (-d) en mapt poort 80 van de container naar poort 80 van de host.
Docker Compose
Voor complexere setups (meerdere containers die samenwerken) gebruikt u Docker Compose. Maak een docker-compose.yml:
services:
web:
image: nginx
ports:
- "80:80"
volumes:
- ./site:/usr/share/nginx/html
db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: sterkwachtwoord
MYSQL_DATABASE: mijndb
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
Start met docker compose up -d. Beide containers starten en kunnen met elkaar communiceren via de interne Docker-netwerknaam.
Praktische voorbeelden
- WordPress:
docker composemet WordPress + MariaDB. In vijf minuten een complete site. - Discord-bot: bouw een Dockerfile voor uw Python- of Node.js-bot, met automatische herstart via
restart: unless-stopped. - Database: MariaDB, PostgreSQL of MongoDB in een container met een volume voor persistente data.
Belangrijke commando's
| Commando | Functie |
|---|---|
docker ps | Draaiende containers tonen |
docker logs containernaam | Logs bekijken |
docker stop containernaam | Container stoppen |
docker rm containernaam | Container verwijderen |
docker exec -it containernaam bash | Shell openen in een container |
docker compose up -d | Alle services starten |
docker compose down | Alle services stoppen en verwijderen |
Volumes: data bewaren
Containers zijn wegwerpbaar. Als u een container verwijdert, is de data weg. Volumes lossen dit op: ze slaan data buiten de container op. Gebruik altijd een volume voor databases en bestanden die u wilt bewaren.
Is Docker moeilijk te leren?
De basis (containers starten, stoppen, compose-bestanden schrijven) leert u in een middag. Geavanceerde onderwerpen (netwerken, multi-stage builds, orchestratie) kosten meer tijd maar zijn voor de meeste VPS-gebruikers niet nodig.
Kan ik Docker combineren met Nginx op de host?
Ja. Een veelgebruikte setup: Nginx op de host als reverse proxy, die verkeer doorstuurt naar Docker-containers. Elke container luistert op een interne poort; Nginx routeert het verkeer op basis van het domein.
Kost Docker extra geheugen?
Minimaal. Docker deelt de kernel van de host; een container voegt 10 tot 50 MB overhead toe, veel minder dan een virtuele machine. De applicatie in de container gebruikt dezelfde hoeveelheid geheugen als zonder Docker.
Docker draaien op een KVM VPS van HostValues met volledige root-toegang.