Serwery gier z Dockerem na VPS

Docker uruchamia każdy serwer gier w izolowanym kontenerze. VPS może hostować serwer Minecraft, serwer Palworld i bota Discord bez wzajemnego wpływu. Każdy kontener ma własne pliki, porty i limity zasobów.

Dlaczego Docker do serwerów gier?

  • Izolacja: awaria jednego kontenera nie wpływa na inne.
  • Łatwa konfiguracja: gotowe obrazy dla większości gier. Serwer Minecraft to jedno polecenie.
  • Powtarzalność: usuń kontener, utwórz go ponownie i masz czysty stan. Dane pozostają zachowane w woluminach.
  • Limity zasobów: ustaw limity CPU i pamięci na kontener, aby jeden serwer nie zagłodził pozostałych.

Instalacja Dockera

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

Wyloguj się i zaloguj ponownie, aby zmiana grupy została aktywowana.

Minecraft z Dockerem

Obraz itzg/minecraft-server to złoty standard:

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

To uruchamia serwer Paper z 4 GB RAM, portem 25565 i trwałymi danymi w woluminie mc-data. Dodaj pluginy, umieszczając je w folderze plugins/ woluminu.

Docker Compose dla wielu serwerów

Użyj docker-compose.yml do zarządzania wieloma serwerami:

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:

Uruchom oba poleceniem docker compose up -d.

Przydatne polecenia

  • docker logs mc --tail 100: ostatnie 100 linii logu serwera Minecraft.
  • docker exec -i mc rcon-cli: dostęp do konsoli serwera.
  • docker stop mc && docker start mc: restart kontenera.
  • docker stats: zużycie zasobów wszystkich kontenerów na żywo.

Czy Docker jest wolniejszy niż bezpośrednie uruchomienie?

Nie. Docker korzysta z jądra hosta; nie ma narzutu wirtualizacji. Wydajność jest identyczna z instalacją bezpośrednią.

Jak zaktualizować serwer gier?

Pobierz najnowszy obraz: docker pull itzg/minecraft-server. Następnie utwórz kontener ponownie: docker compose up -d. Dane w woluminie pozostają zachowane.

Czy mogę używać panelu Pterodactyl z Dockerem?

Tak. Pterodactyl (i jego następca Pelican) wewnętrznie używają kontenerów Docker. Panel zarządza kontenerami przez interfejs webowy zamiast wiersza poleceń.

Uruchom Dockera na KVM VPS w HostValues. Wszystkie pakiety zawierają pełny dostęp root.


Nadal masz pytania? Utworz ticket, a nasz zespol Ci pomoze.

Powrot do bloga