Every time you start a game server on Azion Cloud — whether it's Minecraft, FiveM, Palworld, or a Discord bot — something interesting happens behind the scenes. Your server doesn't just run as a regular program on the hosting machine. Instead, it launches inside a Docker container — an isolated, secure environment with its own filesystem, network, and resource limits.
But what does that actually mean for you as a customer? And why should you care? This article explains Docker containers in plain language, how Pterodactyl Panel uses them, and why this technology makes your game server more reliable and secure.
What Is a Docker Container?
Imagine you're renting an apartment in a building. You have your own space, your own key, your own utilities meter. Your neighbors can't walk into your apartment, use your electricity, or see what's inside. But you're all sharing the same building structure — the same foundation, walls, and roof.
A Docker container works the same way. It's a lightweight, isolated environment that shares the host machine's operating system kernel but has its own:
- Filesystem: Your server's files are completely separate from other servers. You can't accidentally access or corrupt another customer's data.
- Network: Your server gets its own network interface with port mapping. Other containers can't intercept your traffic.
- Process space: Your server's processes are invisible to other containers. You can only see and manage your own processes.
- Resource limits: CPU, RAM, disk, and network usage are strictly capped per container. One server can't hog all the machine's resources.
Containers vs Virtual Machines
You might be wondering: "Isn't this the same as a VPS?" Not exactly. Here's the difference:
Virtual Machines (VMs) — Used for VPS Hosting
A VM runs a complete operating system with its own kernel. It's like having a computer inside a computer. This is what Virtualizor manages on Azion Cloud's VPS plans. VMs provide the strongest isolation but use more resources because each VM needs its own OS, kernel, drivers, and system processes.
Containers — Used for Game Hosting
A container shares the host's kernel but isolates everything else. It's lighter and faster than a VM because it doesn't need to run an entire OS. This makes containers perfect for game servers where you need to run many instances on the same machine efficiently.
| Feature | Virtual Machine (VPS) | Docker Container (Game Hosting) |
|---|---|---|
| Isolation Level | Hardware-level (strongest) | OS-level (strong) |
| Boot Time | 30-60 seconds | 1-3 seconds |
| Resource Overhead | 300-500 MB per VM (OS) | 5-20 MB per container |
| Density | 5-20 VMs per physical server | 50-200+ containers per server |
| Custom OS | Any OS (Linux, Windows) | Shares host kernel |
| Use Case | Full server control, web hosting | Application isolation, game servers |
How Pterodactyl Uses Docker
Pterodactyl Panel is built entirely around Docker. Every game server you create in Pterodactyl runs inside its own Docker container. Here's what happens when you click "Start" on your Minecraft server:
- Container creation: Pterodactyl instructs Docker to create a new container using a predefined image (called an "egg"). For Minecraft, this image includes Java, the server JAR, and any required runtime dependencies.
- Resource limits applied: Docker sets the CPU, RAM, and disk limits defined in your hosting plan. If your plan includes 4 GB RAM, the container is hard-capped at 4 GB — it physically cannot use more.
- Network ports mapped: Your server's port (e.g., 25565 for Minecraft) is mapped from inside the container to the host machine's network.
- Filesystem mounted: Your server files are mounted into the container from the host's storage. This is why your files persist between restarts.
- Process started: The game server process (e.g.,
java -jar paper.jar) launches inside the container.
What This Means for You
- Security: Even if someone exploits a vulnerability in a game server running next to yours, they can't access your files or data. Container isolation prevents lateral movement.
- Fair resources: Another customer's laggy server can't steal your CPU or RAM. Resource limits are enforced by the Linux kernel itself (cgroups).
- Fast restarts: Restarting a container takes 1-3 seconds vs 30-60 seconds for a VM reboot. Your Minecraft server is back online almost instantly.
- Consistency: The Docker image ensures every server starts with the same environment. No more "it works on my machine" problems.
Docker Images and Eggs
In Pterodactyl, a "Docker image" is the base environment that your game server runs in. An "egg" is the configuration that tells Pterodactyl how to install, configure, and run a specific game.
Common Docker Images
| Image | Contents | Used For |
|---|---|---|
ghcr.io/pterodactyl/yolks:java_21 | Java 21 runtime | Minecraft 1.20.5+, Paper, Purpur |
ghcr.io/pterodactyl/yolks:java_17 | Java 17 runtime | Minecraft 1.17-1.20.4 |
ghcr.io/pterodactyl/yolks:nodejs_20 | Node.js 20 | Discord.js bots, FiveM txAdmin |
ghcr.io/pterodactyl/yolks:python_3.11 | Python 3.11 | Discord.py bots, Python scripts |
ghcr.io/pterodactyl/games:source | SteamCMD + dependencies | CS2, Rust, ARK, Palworld |
When you change the "Docker Image" setting in Pterodactyl's startup configuration, you're changing the base environment. This is how you switch between Java 17 and Java 21 for different Minecraft versions, or between Node.js versions for your Discord bot.
Resource Limits in Detail
CPU Limits
Docker uses Linux cgroups to limit CPU usage. If your plan includes 200% CPU (2 full cores), your container can never use more than 2 cores worth of processing power, even if the host machine has 32 cores sitting idle. This guarantees consistent performance.
Memory Limits
RAM limits are strict. If your Minecraft server is allocated 4 GB and it tries to use 4.1 GB, the container's OOM (Out of Memory) killer will terminate the most memory-hungry process — usually the Java process running your game server. This is why it's important to set your JVM memory flags correctly:
# Good: Leave headroom for the OS and JVM overhead
# If container limit is 4GB, set Xmx to 3.5GB
-Xms3584M -Xmx3584M
# Bad: Setting Xmx to the full container limit
# This leaves no room for JVM overhead and will OOM
-Xms4096M -Xmx4096M
Always set your JVM's -Xmx to about 500MB less than your container's RAM limit. See our RAM allocation guide for game-specific recommendations.
Disk Limits
Storage is limited per container. If your plan includes 20 GB of disk space, you can't store more than 20 GB of files. Pterodactyl monitors disk usage and will prevent your server from starting if you've exceeded the limit. To free up space:
- Delete old log files in the
logs/directory - Remove unused plugins and mods
- Clean up old backups
- Delete old world backups or trim unused chunks
Security Benefits of Containerization
Isolation From Other Customers
On a shared hosting node, your Minecraft server runs alongside many other customers' servers. Without containerization, a malicious or compromised server could potentially:
- Read other servers' files (plugin configs, database credentials)
- Consume all the machine's CPU and RAM
- Install malware that affects the entire host
- Intercept network traffic from other servers
Docker containers prevent all of these scenarios. Each container has its own isolated filesystem, process space, and network. The only way to communicate between containers is through explicitly configured network bridges — which Pterodactyl doesn't create between customer servers.
Read-Only System Files
The Docker image (base OS, Java runtime, etc.) is mounted as read-only. Even if someone gains code execution inside the container through a game server vulnerability, they can't modify system files, install rootkits, or tamper with the runtime environment. Only your server data (plugins, configs, worlds) is writable.
No Root Access
Game server processes inside Pterodactyl containers run as a non-root user. Even if someone exploits a vulnerability, they can't escalate to root privileges inside the container, and they certainly can't escape to the host machine.
How This Applies to Azion Cloud
Game Hosting (Pterodactyl + Docker)
When you purchase a game hosting plan, your server runs inside a Docker container managed by Pterodactyl. You get:
- Guaranteed CPU and RAM allocation
- Complete file isolation from other customers
- 1-3 second restart times
- Automatic crash recovery (container restarts if the process dies)
- NVMe SSD storage for fast world loading and chunk generation
VPS Hosting (Virtualizor + KVM)
When you purchase a VPS plan, you get a full KVM virtual machine managed by Virtualizor. You can then install Docker and Pterodactyl yourself if you want to run multiple game servers with container-level isolation on top of your VM.
This two-layer approach (VM for the infrastructure + containers for the games) gives you maximum control and flexibility.
Practical Tips
Understanding OOM Kills
If your server randomly stops and the console shows Killed or OOMKilled, your container ran out of memory. Solutions:
- Reduce your JVM's
-Xmxsetting to leave more headroom - Remove memory-hungry plugins (check with Spark profiler)
- Reduce view distance and simulation distance in
server.properties - Upgrade to a higher RAM plan
Why Restarts Are Fast
When you restart your game server through Pterodactyl, it's not rebooting an entire OS. It's just stopping and starting a process inside the same container. The container stays running — only the game server process is cycled. This is why Pterodactyl restarts take 1-3 seconds while a full VPS reboot via Virtualizor takes 30-60 seconds.
File Persistence
Your server files persist between restarts because they're stored on the host machine's disk, not inside the ephemeral container. The files are mounted into the container as a volume. Even if the container is destroyed and recreated (which happens during reinstalls), your files remain intact on the host's NVMe storage.
Summary
Docker containers are the backbone of modern game server hosting. They provide security, fair resource allocation, fast restarts, and consistency — all critical for a good multiplayer gaming experience. Every game server on Azion Cloud runs inside its own isolated Docker container through Pterodactyl, ensuring your Minecraft world, FiveM RP server, or Discord bot is secure and performs reliably.
Want to learn more? Check out our Pterodactyl Panel guide, Virtualizor guide, or browse our game hosting and VPS plans.