Docker na VPS: instalacja i serwer gry w kontenerze

Docker to narzedzie do konteneryzacji, ktore pozwala uruchamiac aplikacje w izolowanych srodowiskach. Kazdy kontener zawiera wszystko, czego aplikacja potrzebuje: system plikow, biblioteki, zaleznosci i konfiguracje. Na VPS KVM Docker dziala bez ograniczen, dzieki czemu mozesz szybko wdrazac serwery gier, bazy danych, strony internetowe i inne uslugi bez ingerencji w glowny system.

Wymagania wstepne

Docker wymaga VPS z wirtualizacja KVM. Na OpenVZ instalacja jest utrudniona lub niemozliwa ze wzgledu na wspoldzielone jadro. Potrzebujesz takze:

  • Systemu Debian 12, Ubuntu 22.04 lub nowszego
  • Dostepu root przez SSH
  • Minimum 2 GB RAM (wiecej w zaleznosci od planowanych kontenerow)

Instalacja Dockera krok po kroku

Polacz sie z VPS przez SSH i wykonaj nastepujace polecenia:

  1. Zaktualizuj liste pakietow i zainstaluj wymagane zaleznosci:

    apt update && apt install -y ca-certificates curl gnupg

  2. Dodaj oficjalne repozytorium Dockera:

    install -m 0755 -d /etc/apt/keyrings

    curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list

    Na Ubuntu zamien debian na ubuntu w powyzszych poleceniach.

  3. Zainstaluj Dockera:

    apt update && apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

  4. Sprawdz, czy Docker dziala:

    docker run hello-world

    Jesli zobaczysz komunikat powitalny, instalacja przebiegla pomyslnie.

Podstawowe komendy Dockera

Oto najczesciej uzywane polecenia, ktore warto znac:

  • docker ps lista uruchomionych kontenerow
  • docker ps -a lista wszystkich kontenerow, takze zatrzymanych
  • docker images lista pobranych obrazow
  • docker pull nazwa-obrazu pobranie obrazu z Docker Hub
  • docker stop nazwa-kontenera zatrzymanie kontenera
  • docker rm nazwa-kontenera usuniecie kontenera
  • docker logs nazwa-kontenera wyswietlenie logow kontenera
  • docker exec -it nazwa-kontenera bash wejscie do terminala kontenera

Uruchamianie serwera Minecraft w Dockerze

Spolecznosc Dockera udostepnia gotowe obrazy serwerow gier. Jednym z najpopularniejszych jest itzg/minecraft-server, ktory obsluguje Vanilla, Paper, Spigot, Forge i Fabric. Uruchomisz go jednym poleceniem:

docker run -d --name mc-server -p 25565:25565 -e EULA=TRUE -e TYPE=PAPER -e VERSION=26.2 -v mc-data:/data itzg/minecraft-server

Co robi kazdy parametr:

  • -d uruchamia kontener w tle
  • --name mc-server nadaje kontenerowi nazwe
  • -p 25565:25565 mapuje port serwera na port hosta
  • -e EULA=TRUE akceptuje warunki licencji Minecraft
  • -e TYPE=PAPER wybiera oprogramowanie Paper
  • -e VERSION=26.2 ustawia wersje Minecraft
  • -v mc-data:/data przechowuje dane serwera w wolumenie, dzieki czemu przetrwaja restart kontenera

Docker Compose: wiele uslug w jednym pliku

Docker Compose pozwala definiowac wiele kontenerow w jednym pliku YAML. Jest to szczegolnie przydatne, gdy serwer gry wymaga bazy danych lub innych uslug pomocniczych. Utworz plik docker-compose.yml:

services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: PAPER
VERSION: "26.2"
MEMORY: 4G
volumes:
- mc-data:/data
restart: unless-stopped

volumes:
mc-data:

Uruchom wszystko jednym poleceniem:

docker compose up -d

Zatrzymanie: docker compose down. Dane w wolumenach pozostaja nienaruszone.

Praktyczne wskazowki

  • Wolumeny zamiast bindow: uzywaj wolumenow Docker (-v nazwa:/sciezka) do przechowywania danych. Sa szybsze i latwiejsze w zarzadzaniu niz montowanie folderow hosta.
  • Restart automatyczny: dodaj restart: unless-stopped w docker-compose lub --restart unless-stopped przy docker run, aby kontener uruchamial sie automatycznie po restarcie VPS.
  • Firewall: Docker domyslnie otwiera porty w iptables z pominieciem ufw. Jesli uzywasz ufw, skonfiguruj reguly Docker w /etc/docker/daemon.json z opcja "iptables": false lub zarzadzaj portami recznie.
  • Aktualizacja obrazow: regularnie aktualizuj obrazy poleceniem docker compose pull, a nastepnie docker compose up -d, aby zastosowac nowe wersje.

Dlaczego Docker na KVM VPS?

KVM zapewnia pelna izolacje jadra, dzieki czemu Docker dziala tak samo jak na serwerze dedykowanym. Mozesz swobodnie ladowac moduly jadra, korzystac z overlay2 jako sterownika storage i uruchamiac dowolna liczbe kontenerow w ramach dostepnych zasobow. W polaczeniu z dyskami NVMe otrzymujesz szybki dostep do danych, co jest kluczowe przy bazach danych i serwerach gier.

Szukasz VPS pod Dockera? Sprawdz oferte na stronie VPS hosting. Wszystkie pakiety VPS w HostValues opieraja sie na KVM z dyskami NVMe i pelnym dostepem root.

Czy Docker dziala na OpenVZ?

Nie w pelni. OpenVZ wspoldziela jadro z hostem, co uniemozliwia korzystanie z wielu funkcji Dockera. KVM nie ma tego ograniczenia, poniewaz kazdy VPS posiada wlasne jadro.

Ile RAM potrzebuje Docker?

Sam Docker zuzywa minimalna ilosc pamieci. Zapotrzebowanie zalezy od kontenerow: serwer Minecraft z Paper potrzebuje 2 do 4 GB RAM w kontenerze, lekka aplikacja webowa wystarcza z 256 do 512 MB. Planuj zasoby VPS na podstawie sumy zapotrzebowan wszystkich kontenerow plus okolo 512 MB na system operacyjny.

Jak zrobic kopie zapasowa danych Dockera?

Dane przechowywane w wolumenach znajdziesz w /var/lib/docker/volumes/. Mozesz je archiwizowac narzedziem tar lub skryptem cron. Przed kopia zatrzymaj kontener poleceniem docker stop, aby uniknac niespojnosci danych.

Wskazówka: w HostValues możesz wybrać pakiet VPS i być online w kilka minut.


Nadal masz problem? Otwórz zgłoszenie do supportu, nasz zespół chętnie pomoże.

Powrót do bazy wiedzy