Gameservers draaien met Docker op een VPS

Docker draait elke gameserver in een geisoleerde container. Een VPS kan een Minecraft-server, een Palworld-server en een Discord-bot hosten zonder dat ze elkaar beinvloeden. Elke container heeft zijn eigen bestanden, poorten en resource-limieten.

Waarom Docker voor gameservers?

  • Isolatie: een crash in de ene container raakt de andere niet.
  • Eenvoudige setup: kant-en-klare images voor de meeste games. Een Minecraft-server is een enkel commando.
  • Reproduceerbaar: verwijder de container, maak hem opnieuw aan, en je hebt weer een schone staat. Je data blijft bewaard in volumes.
  • Resource-limieten: stel CPU- en geheugenlimieten per container in zodat een server de andere niet uithongert.

Docker installeren

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

Log uit en weer in zodat de groepswijziging actief wordt.

Minecraft met Docker

De itzg/minecraft-server image is de gouden standaard:

docker run -d --name mc \
  -p 25565:25565 \
  -e EULA=TRUE \
  -e TYPE=PAPER \
  -e MEMORY=4G \
  -e VERSION=LATEST \
  -v mc-data:/data \
  --restart unless-stopped \
  itzg/minecraft-server

Dit start een Paper-server met 4 GB RAM, poort 25565 en persistente data in het mc-data-volume. Voeg plugins toe door ze in de plugins/-map van het volume te plaatsen.

Docker Compose voor meerdere servers

Gebruik docker-compose.yml om meerdere servers te beheren:

services:
  minecraft:
    image: itzg/minecraft-server
    ports:
      - "25565:25565"
    environment:
      EULA: "TRUE"
      TYPE: PAPER
      MEMORY: "4G"
    volumes:
      - mc-data:/data
    restart: unless-stopped
    deploy:
      resources:
        limits:
          memory: 5G

  palworld:
    image: thijsvanloef/palworld-server-docker
    ports:
      - "8211:8211/udp"
    volumes:
      - pw-data:/palworld
    restart: unless-stopped
    deploy:
      resources:
        limits:
          memory: 16G

volumes:
  mc-data:
  pw-data:

Start beide met docker compose up -d.

Handige commando's

  • docker logs mc --tail 100: laatste 100 regels van het Minecraft-serverlog.
  • docker exec -i mc rcon-cli: toegang tot de serverconsole.
  • docker stop mc && docker start mc: herstart een container.
  • docker stats: live resource-gebruik van alle containers.

Is Docker trager dan direct draaien?

Nee. Docker gebruikt de host-kernel; er is geen virtualisatie-overhead. De prestaties zijn identiek aan een directe installatie.

Hoe update ik de gameserver?

Pull de laatste image: docker pull itzg/minecraft-server. Maak vervolgens de container opnieuw aan: docker compose up -d. Je data in het volume blijft bewaard.

Kan ik het Pterodactyl-panel met Docker gebruiken?

Ja. Pterodactyl (en zijn opvolger Pelican) gebruiken intern Docker-containers. Het panel beheert containers via een webinterface in plaats van de opdrachtregel.

Draai Docker op een KVM VPS bij HostValues. Alle pakketten bevatten volledige root-toegang.


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

Terug naar de blog