Docker gebruiken voor gameserver hosting

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.


Komt u er niet uit? Open een support ticket, ons team helpt u graag verder.

Terug naar de blog