Docker te permite ejecutar servidores de juegos en contenedores aislados dentro de tu VPS. Cada contenedor tiene su propio entorno, sus propias dependencias y se puede iniciar, detener o borrar sin afectar al resto del sistema.
Que es Docker y por que usarlo
Docker empaqueta aplicaciones y sus dependencias en contenedores ligeros. Para servidores de juegos, esto significa:
- Puedes ejecutar varios servidores de juegos diferentes en el mismo VPS sin conflictos.
- Cada servidor tiene exactamente las librerias y versiones que necesita.
- Puedes actualizar o eliminar un servidor sin tocar los demas.
- Las copias de seguridad y migraciones son mas sencillas.
Instalar Docker
En Ubuntu 24.04:
apt update && apt install docker.io docker-compose-v2 -y
Verifica la instalacion:
docker --version
Conceptos basicos
- Imagen: una plantilla de solo lectura que contiene el sistema operativo y la aplicacion. Es como un disco de instalacion.
- Contenedor: una instancia en ejecucion de una imagen. Es donde tu servidor realmente funciona.
- Volumen: almacenamiento persistente. Los datos del contenedor se pierden al borrarlo a menos que uses volumenes.
- docker-compose: una herramienta para definir y ejecutar contenedores con un archivo YAML.
Ejemplo: servidor de Minecraft con Docker Compose
Crea un archivo docker-compose.yml:
services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: "PAPER"
VERSION: "1.21.4"
MEMORY: "4G"
volumes:
- ./minecraft-data:/data
restart: unless-stopped
Ejecuta: docker compose up -d
Tu servidor de Minecraft Paper esta ahora en ejecucion. Los datos se guardan en ./minecraft-data y sobreviven a reinicios del contenedor.
Comandos esenciales
| Comando | Funcion |
|---|---|
docker compose up -d | Inicia los contenedores en segundo plano. |
docker compose down | Detiene y elimina los contenedores. |
docker compose logs -f | Muestra los logs en tiempo real. |
docker compose restart | Reinicia los contenedores. |
docker ps | Lista los contenedores en ejecucion. |
docker exec -it nombre bash | Abre una terminal dentro del contenedor. |
Volumenes: no pierdas tus datos
Siempre usa volumenes para almacenar los datos del juego (mundos, configuraciones, plugins). Sin volumenes, borrar el contenedor borra todos los datos:
En docker-compose.yml, la linea ./minecraft-data:/data monta la carpeta local minecraft-data dentro del contenedor. Tus mundos y configuraciones viven en esa carpeta y persisten.
Multiples servidores
Con Docker puedes ejecutar un servidor de Minecraft, uno de Rust y uno de FiveM en el mismo VPS. Solo asegurate de:
- Asignar puertos diferentes a cada servidor.
- Dejar suficiente RAM para todos los contenedores.
- Usar volumenes separados para cada servidor.
Cuando no usar Docker
Si solo vas a ejecutar un servidor de juegos y prefieres la simplicidad, instalar el servidor directamente en el VPS puede ser mas sencillo. Docker brilla cuando gestionas multiples servicios o cuando quieres reproducir exactamente el mismo entorno en diferentes maquinas.