Fixing Docker Address Pool Overlap Errors on Pterodactyl Game Panels

Published on

Your Pterodactyl panel suddenly cannot create containers. The error says 'could not find an available, non-overlapping IPv4 address pool.' Here is what causes it and two ways to fix it permanently.

Written by Jochem Wassenaar – CEO of Space-Node – 15+ years combined experience in game server hosting, VPS infrastructure, and 24/7 streaming solutions. Read author bio →

docker address pool overlap pterodactyl fix

Your Pterodactyl panel worked yesterday. Today, creating or starting a server fails with:

could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

This means Docker ran out of IP address space to assign to containers. Every Docker container and network gets its own subnet. Docker's default address pool is limited, and after creating enough containers, it runs dry.


Why This Happens

Docker assigns each container network a /24 subnet from a pool of private IP ranges (typically 172.17.0.0/16 and 172.18.0.0/16). Each /24 subnet supports 254 addresses but wastes an entire subnet even for a single container.

On a Pterodactyl node with many game servers, Docker burns through subnets fast. After about 30-50 container networks, the default pool is empty and Docker cannot allocate more.


Fix 1: Expand the Docker Address Pool

Edit the Docker daemon configuration:

sudo nano /etc/docker/daemon.json

Add or modify the default-address-pools setting:

{
  "default-address-pools": [
    {
      "base": "172.17.0.0/12",
      "size": 28
    }
  ]
}

This does two things:

  1. base: 172.17.0.0/12 expands the available IP range from a /16 (65,536 addresses) to a /12 (1,048,576 addresses)
  2. size: 28 makes each container network a /28 (16 addresses) instead of /24 (256 addresses). Game servers do not need 256 IPs per container

With these settings, Docker can create thousands of container networks instead of a few dozen.

Restart Docker:

sudo systemctl restart docker

Then restart Wings:

sudo systemctl restart wings

Fix 2: Clean Up Unused Networks

If you do not want to change the pool size, clean up networks that are no longer in use:

docker network prune

This removes all networks not attached to a running container. If you deleted game servers through Pterodactyl but Docker kept the networks, this frees them up.

Check how many networks exist:

docker network ls | wc -l

If the count is above 30-40, pruning likely fixes the immediate problem. But it will recur as you create more servers.


Fix 3: Both (Recommended)

Do both. Prune old networks to fix it now, then expand the pool to prevent it from happening again:

docker network prune -f
sudo nano /etc/docker/daemon.json

Add the expanded pool config from Fix 1.

sudo systemctl restart docker
sudo systemctl restart wings

Verifying the Fix

After applying the changes:

  1. Create a new server through the Pterodactyl panel
  2. Start it
  3. If it starts without the address pool error, the fix worked

Check Docker's network situation:

docker network ls
docker network inspect bridge

Preventing Port Conflicts

A related issue: after restarting Docker, game server ports might conflict with Nginx or other services on the host. If your web panel runs on ports 80/443 and Docker reassigns those ports during restart, the panel becomes unreachable.

Fix: Make sure your Pterodactyl Wings config.yml has specific port ranges defined. The default allocates from the system's available ports, which can overlap.

Also ensure Nginx/Apache bind to specific IPs rather than 0.0.0.0 if Docker is also using port mappings.


The Bigger Picture

This error is a scaling problem. A fresh Pterodactyl installation with 5 game servers will never hit this limit. But a busy node with 50+ servers, especially if servers are frequently created and deleted, will encounter it eventually.

The daemon.json fix with /28 subnets and a /12 base pool scales to thousands of containers. Apply it proactively on any node that will host more than 20 game servers.

Space-Node handles Docker networking and infrastructure management for all hosted servers. If you are running your own panel and hit this error, the daemon.json fix above resolves it permanently. For managed hosting, check our plans here.

Jochem Wassenaar

About the Author

Jochem Wassenaar – CEO of Space-Node – Experts in game server hosting, VPS infrastructure, and 24/7 streaming solutions with 15+ years combined experience.

Since 2023
500+ servers hosted
4.8/5 avg rating

Our team specializes in Minecraft, FiveM, Rust, and 24/7 streaming infrastructure, operating enterprise-grade AMD Ryzen 9 hardware in Netherlands datacenters. We maintain GDPR compliance and ISO 27001-aligned security standards.

View Space-Node's full team bio and credentials →

Launch Your VPS Today

Get started with professional VPS hosting powered by enterprise hardware. Instant deployment and 24/7 support included.

Fixing Docker Address Pool Overlap Errors on Pterodactyl Game Panels