Добро пожаловать на Craft‑Bukkit

Всё о Minecraft серверах: гайды, команды, скачивание сборок и полезные советы для администраторов и игроков.

Как настроить Minecraft сервер на Docker: изоляция, легкость, масштабирование

Aleksey 23.08.2026 19:01 21
Полное руководство по развертыванию Minecraft сервера в Docker: Dockerfile, docker-compose, обновления, мониторинг и бэкапы контейнеров.

Как настроить Minecraft сервер на Docker: изоляция, легкость, масштабирование

Docker — это контейнеризация, которая меняет подход к администрированию серверов. В 2026 году использование Docker для Minecraft становится стандартом для серьёзных проектов. Я покажу, как развернуть сервер в Docker, настроить автоматическое пересоздание контейнеров и организовать обновления без простоев.

Преимущества Docker для Minecraft

  • Изоляция — сервер работает в своей среде, не влияя на другие приложения на VPS.
  • Легкость — контейнер занимает ~100 МБ, запускается за 2-3 секунды.
  • Масштабирование — можно запустить несколько независимых серверов на одной машине с разными ядрами (Paper, Forge, Fabric).
  • Восстановление — если контейнер упал, он перезапускается автоматически через политику --restart=always.

Шаг 1. Установка Docker и Docker Compose

# Устанавливаем Docker
sudo apt update
sudo apt install docker.io docker-compose -y

# Добавляем пользователя в группу docker (чтобы не использовать sudo)
sudo usermod -aG docker $USER

Шаг 2. Создание Dockerfile для Minecraft

Создай папку /docker/minecraft и внутри файл Dockerfile:

FROM openjdk:21-jdk-slim

WORKDIR /app

# Скачиваем Paper сервер
RUN wget -O server.jar https://api.papermc.io/v2/projects/paper/versions/1.21.3/builds/latest/downloads/paper-1.21.3-latest.jar

# Копируем настройки и плагины
COPY server.properties /app/
COPY plugins /app/plugins/

# Согласие с EULA
RUN echo "eula=true" > eula.txt

# Открываем порт
EXPOSE 25565

# Запускаем сервер
CMD ["java", "-Xmx4G", "-Xms2G", "-XX:+UseG1GC", "-jar", "server.jar", "nogui"]

Шаг 3. Настройка docker-compose.yml

Для управления контейнерами удобнее всего использовать Docker Compose. Создай docker-compose.yml:

version: "3.8"

services:
  minecraft:
    build: .
    container_name: mc_server
    ports:
      - "25565:25565"
    volumes:
      - ./world:/app/world
      - ./plugins:/app/plugins
      - ./logs:/app/logs
    environment:
      - JVM_OPTS=-Xmx4G -Xms2G -XX:+UseG1GC
    restart: always
    tty: true
    stdin_open: true

Шаг 4. Сборка и запуск

# Собрать образ
docker-compose build

# Запустить в фоновом режиме
docker-compose up -d

# Проверить логи
docker-compose logs -f

# Остановить сервер
docker-compose down

Шаг 5. Автоматическое обновление сервера

Docker позволяет обновлять сервер без остановки через синее-зелёное развертывание (создание нового контейнера и переключение трафика).

# Скачать новый Paper
docker exec mc_server wget -O /app/server.jar.new https://api.papermc.io/v2/projects/paper/versions/1.21.3/builds/latest/downloads/paper-1.21.3-latest.jar

# Переключить файл
docker exec mc_server mv /app/server.jar.new /app/server.jar

# Перезапустить контейнер
docker-compose restart

Шаг 6. Мониторинг контейнера

Используй встроенные инструменты Docker для мониторинга:

# Статистика контейнера
docker stats mc_server

# Просмотр логов в реальном времени
docker logs -f mc_server

Шаг 7. Бэкапы через Docker

Ты можешь бэкапить весь мир прямо из контейнера:

# Создать бэкап мира
sudo tar -czf /backups/mc_world_$(date +%Y%m%d).tar.gz /docker/minecraft/world

Распространённые ошибки при работе с Docker

  • Порт уже занят — останови другой сервер или измени порт в docker-compose.yml.
  • Нет прав на запись в том — добавь chown -R 1000:1000 для папки world (пользователь внутри контейнера).
  • Сервер не видит плагины — убедись, что том с плагинами примонтирован правильно.

Заключение

Docker не только упрощает развертывание и обновление серверов, но и делает вашу инфраструктуру более устойчивой. Я использую Docker на всех проектах с 50+ игроками, и это сэкономило мне десятки часов на поддержке.

← К списку статей

💬 Комментарии (0)

⏳ Все комментарии проходят модерацию

🔒 Войдите, чтобы оставить комментарий

😊 Пока нет комментариев. Будьте первым!