How to fix ERROR: Pool overlaps with other one on this address space in Docker

DockerINTERMEDIATEMEDIUMUpdated Dec 6, 2025ยท 269 views

This error occurs when Docker tries to create a network using an IP address range (CIDR block) that conflicts with an existing Docker network or host network. The fix involves identifying and removing the conflicting network or reconfiguring the subnet.

Quick fix

Fixes ERROR: Pool overlaps with other one on this address space

docker network ls
  1. List all Docker networks
  2. Identify the conflicting network
  3. Remove the conflicting Docker network
  4. Change the subnet in docker-compose.yml
docker โ€” error
docker network ls
ERROR: Pool overlaps with other one on this address space

What this error means

The "Pool overlaps with other one on this address space" error occurs when Docker's network allocation system detects a conflict between IP address ranges. When you create a Docker network (either explicitly or through docker-compose), Docker assigns it a subnet from its address pool. If that subnet overlaps with an already-allocated network, Docker refuses to create the new network to prevent routing conflicts. This commonly happens when: - You have a docker-compose.yml that specifies a fixed subnet that's already in use - An old Docker network wasn't properly cleaned up and is blocking the IP range - A VPN client is using the same IP range Docker is trying to allocate - The host machine's network configuration uses IP ranges that conflict with Docker's defaults Docker's default address pools use ranges like 172.17.0.0/16, 172.18.0.0/16, etc. If your infrastructure, VPN, or existing networks use these ranges, you'll encounter this overlap error.

Typical symptoms

  • docker-compose up fails with 'Pool overlaps with other one on this address space'
  • docker network create command fails with overlap error
  • Starting a new project fails while another Docker project is running
  • Error appears after connecting to a VPN
  • Network creation works on one machine but fails on another
  • Error occurs when switching between different docker-compose projects

Common causes

  1. A docker-compose.yml file specifies a subnet that's already in use by another Docker network
  2. An old Docker network wasn't removed and is still allocating the IP range
  3. VPN software is using the same IP range Docker is trying to allocate
  4. Host machine's network interfaces use IP ranges that overlap with Docker's defaults
  5. Multiple docker-compose projects are trying to use the same fixed subnet
  6. Docker's default address pools conflict with corporate/cloud network infrastructure

How to fix "ERROR: Pool overlaps with other one on this address space"

1List all Docker networks

First, identify all existing Docker networks and their subnets:

bash
docker network ls

Then inspect each network to see its subnet configuration:

bash
docker network inspect <network_name>

Look for the "Subnet" field in the IPAM Config section. You can also list all subnets at once:

bash
docker network inspect $(docker network ls -q) | grep -E '"Name"|"Subnet"'
2Identify the conflicting network

Compare the subnet from the error or your docker-compose.yml with existing networks. Look for networks with matching IP ranges.

You can also check which network interfaces on your host might be conflicting:

bash
ip addr show | grep "inet "

On macOS:

bash
ifconfig | grep "inet "

Note: Network IDs starting with br- in ip addr output correspond to Docker networks (e.g., br-7bf61cfc0b5a means Docker network ID 7bf61cfc0b5a).

3Remove the conflicting Docker network

If you identified an unused Docker network causing the conflict, remove it:

bash
docker network rm <network_name>

If containers are still connected to the network, stop them first:

bash
docker stop $(docker network inspect <network_name> -f '{{range .Containers}}{{.Name}} {{end}}')
docker network rm <network_name>

For a clean slate, you can remove all unused networks:

bash
docker network prune

Warning: This removes all networks not used by at least one container.

4Change the subnet in docker-compose.yml

If your docker-compose.yml specifies a conflicting subnet, change it to a non-overlapping range:

yaml
networks:
  my_network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.28.0.0/16  # Use a different subnet

Choose a subnet that doesn't conflict with:
- Other Docker networks (check with docker network inspect)
- Your host's network interfaces
- Your VPN's IP range
- Common private ranges: 10.x.x.x, 172.16-31.x.x, 192.168.x.x

5Use an external network

If you want multiple docker-compose projects to share a network, create it once and reference it as external:

First, create the network:

bash
docker network create shared_network

Then reference it in docker-compose.yml:

yaml
networks:
  my_network:
    external: true
    name: shared_network

This prevents Docker from trying to create a new network each time.

6Stop VPN if it's causing the conflict

If the error started after connecting to a VPN, the VPN may be using Docker's default IP ranges. Temporarily disconnect:

bash
# OpenVPN
sudo systemctl stop openvpn

# Or kill the VPN process
sudo killall openvpn

Then retry your Docker command. If this works, see the Advanced Notes for permanent solutions.

Advanced notes

Configuring Docker's default address pools: You can change which IP ranges Docker uses by default. Edit (or create) /etc/docker/daemon.json:

json
{
  "default-address-pools": [
    {"base": "10.10.0.0/16", "size": 24},
    {"base": "10.11.0.0/16", "size": 24}
  ]
}

Then restart Docker:

bash
sudo systemctl restart docker

Note: This only affects newly created networks. Existing networks keep their subnets.

VPN coexistence: If your VPN uses ranges like 172.17.x.x (Docker's default), configure Docker to use completely different ranges. Popular choices that rarely conflict:
- 10.200.0.0/16
- 10.201.0.0/16
- 172.30.0.0/16

Docker Compose network naming: By default, Docker Compose creates networks named <project>_<network>. If you're running the same project from different directories, they might conflict. Use explicit project names:

bash
docker-compose -p unique_project_name up

Removing network configuration entirely: If you don't need custom networking, remove the ipam: block from docker-compose.yml and let Docker auto-assign subnets:

yaml
networks:
  my_network:
    driver: bridge
    # No ipam block - Docker chooses the subnet

macvlan and host network conflicts: If using macvlan networks that bridge to the host, ensure the subnet doesn't overlap with the host's actual network. The macvlan subnet should be a subset of the host network that's reserved for containers.

Kubernetes/minikube conflicts: If running Kubernetes locally, its pod networks may conflict with Docker. Check kubectl cluster-info dump | grep -i cidr for Kubernetes network ranges.

Frequently asked questions

What does "ERROR: Pool overlaps with other one on this address space" mean?
The "Pool overlaps with other one on this address space" error occurs when Docker's network allocation system detects a conflict between IP address ranges. When you create a Docker network (either explicitly or through docker-compose), Docker assigns it a subnet from its address pool. If that subnet overlaps with an already-allocated network, Docker refuses to create the new network to prevent routing conflicts.
How do I fix "ERROR: Pool overlaps with other one on this address space"?
This error occurs when Docker tries to create a network using an IP address range (CIDR block) that conflicts with an existing Docker network or host network. The fix involves identifying and removing the conflicting network or reconfiguring the subnet.
What causes "ERROR: Pool overlaps with other one on this address space"?
A docker-compose.yml file specifies a subnet that's already in use by another Docker network An old Docker network wasn't removed and is still allocating the IP range VPN software is using the same IP range Docker is trying to allocate
Is the "ERROR: Pool overlaps with other one on this address space" error serious?
It is a medium-severity error โ€” more of a blocker than a risk. The steps above resolve it.

Official resources & further reading