Docker is een containerisatie-platform dat software verpakt in gestandaardiseerde eenheden (containers). Voor gameserver hosting biedt het grote voordelen: isolatie, reproduceerbaarheid en makkelijk beheer. In dit artikel leggen we uit hoe je Docker kunt gebruiken voor je gameservers.
Waarom Docker voor gameservers?
- Isolatie: elke container is onafhankelijk. Een crash in een gameserver treft de andere niet.
- Consistentie: een container werkt overal hetzelfde, of het nu je laptop of een productieserver is.
- Snel opzetten: een nieuwe server staat in seconden klaar.
- Makkelijk updaten: pull een nieuwe image, herstart de container, klaar.
- Resource-beheersing: stel per container een maximum in voor CPU en RAM.
Docker installeren
# Ubuntu/Debian apt update apt install docker.io docker-compose-v2 systemctl enable docker systemctl start docker
Voorbeeld: Minecraft server in Docker
Gebruik de populaire itzg/minecraft-server image:
docker run -d \ --name minecraft \ -p 25565:25565 \ -e EULA=TRUE \ -e TYPE=PAPER \ -e VERSION=LATEST \ -e MEMORY=4G \ -v /data/minecraft:/data \ itzg/minecraft-server
Dat is alles. Een Paper-server met 4 GB RAM, bereikbaar op poort 25565, met data opgeslagen in /data/minecraft.
Docker Compose
Voor meerdere servers gebruik je Docker Compose. Maak een docker-compose.yml:
services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: PAPER
MEMORY: 4G
volumes:
- ./minecraft-data:/data
restart: unless-stopped
deploy:
resources:
limits:
memory: 5G
cpus: "2.0"
terraria:
image: ryshe/terraria
ports:
- "7777:7777"
volumes:
- ./terraria-data:/root/.local/share/Terraria/Worlds
restart: unless-stopped
Start alles met: docker compose up -d
Resource-limieten instellen
Beperk hoeveel resources elke container mag gebruiken:
docker run -d \ --name minecraft \ --memory=5g \ --cpus=2.0 \ ...
Dit voorkomt dat een server al je resources opslokt en andere servers of het hostsysteem beinvloedt.
Beheer-commando's
docker ps Toon draaiende containers docker logs minecraft Bekijk logs van een container docker stop minecraft Stop een container docker start minecraft Start een container docker restart minecraft Herstart een container docker exec -it minecraft bash Open een shell in de container
Back-ups met Docker
Omdat alle data in volumes staat, is back-uppen simpel:
# Stop de container (optioneel, voor consistentie) docker stop minecraft # Kopieer de data tar -czf minecraft-backup.tar.gz /data/minecraft/ # Start weer docker start minecraft
Docker vs. Pterodactyl
Pterodactyl gebruikt Docker onder de motorkap! Het verschil is dat Pterodactyl een webinterface biedt bovenop Docker, inclusief gebruikersbeheer, file manager en console. Als je comfortabel bent met de command line, kun je Docker direct gebruiken voor meer flexibiliteit.
Vertraagt Docker mijn gameserver?
Nee, Docker-containers draaien native op de host-kernel. De overhead is minimaal (minder dan 1%). Dit is anders dan virtualisatie (VPS), waarbij een volledige OS-laag wordt gesimuleerd.
Kan ik Docker gebruiken op elke VPS?
Op de meeste wel. Je hebt een Linux VPS nodig met KVM- of bare-metal-virtualisatie. OpenVZ-containers ondersteunen Docker vaak niet. Bij HostValues draait Docker probleemloos op onze KVM-gebaseerde VPS'en.
Is Docker veilig voor gameservers?
Ja, Docker biedt extra beveiliging door isolatie. Een gecompromitteerde container heeft geen toegang tot andere containers of het hostsysteem. Gebruik wel altijd officiele images en houd ze bijgewerkt.
Draai Docker op een VPS bij HostValues met KVM-virtualisatie en root-toegang.