故障现象

  • 在使用docker-compose模板创建容器时,遇到网络错误提示。

    [+] Running 0/0
     ⠿ Network config_default  Error                                             0.0s
    failed to create network config_default: Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
    
    
    [+]运行 0/0
     ⠿ 网络config_default误差0.0s
    无法创建网络config_default:来自守护程序的错误响应:在要分配给网络的默认值中找不到可用的、不重叠的 IPv4 地址池
    

错误原因

  • Docker默认支持30个不同的自定义bridge网络,如果超过这个限制,就会提示上面的错误。

解决办法

  1. 使用命令查看docker内创建了多少个网络

    docker network ls
  2. 其中bridgehostnone,是docker默认网络,且不能删除。

    root@nas:/volume2/video/MoviePilot/config# docker network ls
    NETWORK ID     NAME                                       DRIVER    SCOPE
    60fd39560298   bridge                                     bridge    local
    18211b124b1b   cookiecloud_default                        bridge    local
    c4a35aa781ea   docker-jitsi-meet-stable-9258_meet.jitsi   bridge    local
    3b0da2763d85   docker_default                             bridge    local
    b7adc8334693   docmost_default                            bridge    local
    c54981b3b38b   dootask-networks-1ad366                    bridge    local
    70b5e962bcc9   dootask-networks-4d4d1b                    bridge    local
    75183b7e7502   dootask-networks-9a9f4d                    bridge    local
    86c75c6c6528   dootask-networks-29baeb                    bridge    local
    ebcb46de37c3   dootask-networks-84a29f                    bridge    local
    e8da3e00991e   dootask-networks-02385f                    bridge    local
    49f99821559b   dootask-networks-c98f5e                    bridge    local
    9733668b312f   dootask-networks-e6ac32                    bridge    local
    3d224aeff36b   goedge_goedge                              bridge    local
    2df80cbba105   halo_halo_network                          bridge    local
    e937ef7372f7   harbor_harbor                              bridge    local
    9d089f565e53   host                                       host      local
    5cc9cc95ccd0   images_default                             bridge    local
    0b063a4243ef   moviepilot                                 bridge    local
    1b1c497ba42e   moviepilot_default                         bridge    local
    e01cff6c9bf5   none                                       null      local
    4cb8a4391a74   rustdesk_rustdesk-net                      bridge    local
    95cea21f47f8   safeline-ce                                bridge    local
    42cb0538b612   themepark_default                          bridge    local
    1982aab1d6e0   www_default                                bridge    local
    026c830e4fc1   wxchat_default                             bridge    local
    
  3. 统计一下网络的数量,查看有没有超出限制数量(加上默认的一共最多33个)。

    docker network ls | wc -l
  4. 快速解决办法,清除没有使用的网络。

    #如果有提示就输入字母 y 进行确认。
    
    docker network prune
  5. 重新执行创建容器命令即可。

  6. 如果这个方法不行,就参考下面的网络教程进行修改。

参考资料

功德+1(狗子).gif

👇👇👇