Hey guys, I was happily running 44 docker containers for a while on Debian host. Today I tried to add a new service (uptime-kuma) using portainer stacks, but I got this error:
Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
Quick google led me to this link where I found possible problem with max number of docker networks. I did docker network prune, it removed 5 networks that were not in use and viola, uptime-kuma is working now!
Am I reaching the limit? What to do if I need 10 more services on the same host? I bet I saw some people in this community running many more services
If you just want the solution, skip to the section titled How to configure docker to allow >500 bridge networks. I think you'll need to remake all your networks after making the change, if I remember correctly.
I'm pretty sure all of those entries are in the same /12 network - 172.16.0.0/12. Apparently there's nothing wrong with it, but I think you can significantly simplify that config by just removing all the extra ones
Oh rly? Im still reading about what others said and feels like I can still continue with docker. Ive heard about kubernetes many times. Even tho some people use them on single node, isnt that made for multiple nodes setup? I have to learn more about kubernetes
Just run all your containers with IPv6 randomly generated prefixes and this won't ever be a problem, you'll also get more IP spacing than you'll ever require. Then use your reverse proxy to convert between the "public" IPv4 space and the internal docker IPv6 networks.