Docker permite rodar cada servidor de jogo em um container isolado, com suas proprias dependencias e configuracoes. E a forma mais organizada de gerenciar multiplos servidores em um unico VPS.
O que e Docker
Docker e uma plataforma de containerizacao. Um container e como uma maquina virtual leve: tem seu proprio sistema de arquivos, rede e processos, mas compartilha o kernel do sistema host. Isso significa:
- Menor uso de recursos que maquinas virtuais tradicionais.
- Isolamento: um servidor com problemas nao afeta os outros.
- Reproducibilidade: o mesmo container funciona em qualquer lugar.
- Facil de fazer backup e migrar.
Instalando Docker
Em Ubuntu ou Debian:
curl -fsSL https://get.docker.com | sh
Adicione seu usuario ao grupo docker para nao precisar de sudo:
usermod -aG docker seuusuario
Docker Compose
O Docker Compose permite definir multiplos containers em um unico arquivo YAML. Para servidores de jogos, isso e especialmente util:
- Um container para o servidor Minecraft.
- Um container para o banco de dados MySQL (se necessario).
- Um container para o servidor FiveM.
- Todos definidos e gerenciados em um unico arquivo.
Volumes: persistencia de dados
Containers sao efemeros por padrao. Para manter os dados do servidor entre reinicializacoes, use volumes:
- Monte a pasta do mundo do Minecraft em um volume.
- Monte a pasta de configuracao em um volume.
- Monte a pasta de plugins em um volume.
Assim, voce pode destruir e recriar o container sem perder dados.
Portas e rede
Cada container precisa ter suas portas mapeadas para o host. No Docker Compose:
- Servidor Minecraft:
25565:25565 - Segundo Minecraft:
25566:25565 - FiveM:
30120:30120
Imagens prontas
Existem imagens Docker prontas para servidores de jogos. A mais popular para Minecraft e a itzg/minecraft-server, que:
- Suporta Paper, Forge, Fabric e NeoForge.
- Configura Java automaticamente.
- Aceita variaveis de ambiente para configuracao.
- Atualiza automaticamente.
Monitoramento
Use comandos Docker para monitorar seus containers:
docker ps: lista containers rodando.docker logs nomecontainer: ve os logs.docker stats: uso de CPU e RAM por container.docker exec -it nomecontainer bash: acessa o terminal do container.
Quando usar Docker vs painel de jogos
Docker e ideal se voce tem experiencia com Linux e quer controle total. Um painel como o Pterodactyl (que inclusive usa Docker internamente) e mais amigavel para quem quer gerenciar servidores sem tocar no terminal.