15

When I was trying to deploy my application with docker-compose I got back the following error:

Creating network "<myapplicationnamehere_mycustomnetwork>" with the 
default driver
could not find an available, non-overlapping IPv4 address pool among 
the defaults to assign to the network

Now I researched a bit here and there and people suggested to prune unused old docker networks with docker network prune. But since I am running 34 docker containers (about ~30 networks I think), it only prunes one or two old networks before the error occurs again.

My question is: How can I make sure I can run many services without running into docker network allocation problems. (Maybe create smaller subnets somehow?)

My top-key network section of the docker-compose file looks as follows:

#
# Networks section
# Networks:
# - public, represents the network between nginx and the public nginx-proxy (which should be already running)
# - uwsgi, represents the network between nginx and uwsgi
# - postgres, represents the network between uwsgi and postgres
#
networks:
  uwsgi:
  postgres:
  public:
    external:
      name: nginx-proxy
  • 2
    Thank you for mentioning `docker network prune` in the question, this was exactly what I needed in my case – 8bitjunkie Feb 21 '20 at 11:15

1 Answers1

1

You can know specify custom address ranges with the default-address-pool property since Docker 18.06. See also the associated Pull Request.