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

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

Docker-сервер Minecraft: автоматическое развёртывание и масштабирование

wergio 23.07.2026 11:23 4
Docker-сервер Minecraft: развёртывание Paper, Forge и Bedrock за одну команду.

Введение: сервер как код

Docker — это платформа для контейнеризации приложений. Вместо того чтобы настраивать сервер Minecraft вручную на каждой машине, вы описываете конфигурацию в Dockerfile или docker-compose.yml и разворачиваете идентичный сервер за одну команду. Это особенно полезно для администрирования нескольких серверов, резервного копирования и миграции между VDS. В этом гайде — как запустить Minecraft-сервер в Docker-контейнере.

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

  • Изоляция: каждый сервер в своём контейнере, не мешают друг другу.
  • Воспроизводимость: одна команда — и сервер развёрнут на любой машине с Docker.
  • Лёгкое обновление: заменили образ — перезапустили контейнер.
  • Масштабирование: запустили 10 контейнеров для 10 серверов.
  • Бэкапы: папка мира монтируется как том (volume) — легко копировать и бэкапить.

Шаг 1: Установка Docker

  1. Скачайте Docker Desktop с официального сайта docker.com для Windows/Mac.
  2. Для Linux (Ubuntu/Debian): sudo apt install docker.io docker-compose.
  3. Проверьте установку: docker --version в терминале.

Шаг 2: Простой запуск Java-сервера (Paper)

Самый быстрый способ — использовать готовый образ itzg/minecraft-server. Этот образ поддерживает Paper, Forge, Fabric, Bedrock и десятки переменных окружения для настройки.

docker-compose.yml (рекомендованный способ)

Создайте файл docker-compose.yml в папке проекта:

version: '3.8'
services:
  minecraft:
    image: itzg/minecraft-server:latest
    container_name: minecraft-server
    ports:
      - '25565:25565'
    environment:
      EULA: 'TRUE'
      TYPE: 'PAPER'
      VERSION: '1.21'
      MEMORY: '4G'
      DIFFICULTY: 'normal'
      MAX_PLAYERS: '20'
      ONLINE_MODE: 'true'
      MOTD: 'Docker Minecraft Server'
      VIEW_DISTANCE: '10'
      SIMULATION_DISTANCE: '8'
      OPS: 'YourUsername'
    volumes:
      - ./data:/data
    restart: unless-stopped

Запуск

  1. Сохраните файл.
  2. Откройте терминал в этой папке.
  3. Выполните: docker-compose up -d.
  4. Docker скачает образ и запустит сервер. Статус: docker-compose logs -f.

Шаг 3: Запуск Forge-сервера в Docker

Тот же образ itzg/minecraft-server поддерживает Forge:

environment:
  EULA: 'TRUE'
  TYPE: 'FORGE'
  VERSION: '1.20.1'
  FORGE_VERSION: '47.2.0'
  MEMORY: '6G'

Моды поместите в папку ./data/mods (она создастся автоматически).

Шаг 4: Запуск Bedrock-сервера в Docker

Образ itzg/minecraft-bedrock-server:

version: '3.8'
services:
  bedrock:
    image: itzg/minecraft-bedrock-server:latest
    container_name: bedrock-server
    ports:
      - '19132:19132/udp'
    environment:
      EULA: 'TRUE'
      SERVER_NAME: 'Docker Bedrock'
      GAMEMODE: 'survival'
      DIFFICULTY: 'normal'
      MAX_PLAYERS: '10'
    volumes:
      - ./bedrock-data:/data
    restart: unless-stopped

Шаг 5: Управление контейнером

  • Просмотр логов: docker-compose logs -f.
  • Консоль сервера: docker exec -i minecraft-server rcon-cli (если включён RCON).
  • Остановка: docker-compose down.
  • Перезапуск: docker-compose restart.
  • Бэкап мира: скопируйте папку ./data/world в безопасное место.

Масштабирование: несколько серверов на одной машине

Скопируйте секцию minecraft в docker-compose.yml, изменив имя контейнера и порты:

services:
  survival:
    image: itzg/minecraft-server:latest
    ports:
      - '25565:25565'
    environment:
      MOTD: 'Survival Server'
      # ... остальные настройки
  creative:
    image: itzg/minecraft-server:latest
    ports:
      - '25566:25565'
    environment:
      MOTD: 'Creative Server'
      # ... остальные настройки

Типичные ошибки

  • Забыли EULA=TRUE. Контейнер запускается и сразу падает. Проверьте переменные окружения.
  • Порты конфликтуют. Два контейнера не могут слушать один порт. Используйте разные внешние порты.
  • Не хватает памяти Docker. В Docker Desktop увеличьте лимит памяти (Settings → Resources).

💡 Совет профи

Используйте Docker в связке с Portainer (веб-интерфейс для управления контейнерами). Установите Portainer одной командой, и вы сможете управлять всеми Minecraft-серверами через браузер: запускать, останавливать, смотреть логи, менять переменные. А для автоматических бэкапов добавьте в docker-compose ещё один контейнер с restic или duplicati, который будет копировать папку мира в облако (S3, Google Drive) по расписанию.
← К списку статей

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

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

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

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