Как настроить Minecraft сервер на Docker: изоляция, легкость, масштабирование
Как настроить 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)
🔒 Войдите, чтобы оставить комментарий
😊 Пока нет комментариев. Будьте первым!