在同一套環境中跑了很多個項目都是用 docker-compose的方式啟動的,導致創建的自定義網絡過多出現下面的報錯
Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
查看自定義網絡
[root@lyj ~]# docker network ls |wc -l
31
這是因為 Docker 默認支持 30 個不同的自定義 bridge 網絡,如果超過這個限制,就會提示上面的錯誤。你可以使用命令docker network ls來查看你創建的網絡,然后通過命令docker network prune來移除沒有使用的網絡。
我采用另一種方式,將所有的項目加入到同一個自定義網絡當中以節省自定義網絡的數量
每台機器上執行:
docker network create xxx-network
docker-compose 文件中寫入如下內容
version: '3'
services:
app:
build: ./app
networks:
- xxx-network
networks:
xxx-network:
external: true
