首页 > 解决方案 > PHP CLI - 错误:在分配给网络的默认值中找不到可用的、不重叠的 IPv4 地址池

问题描述

我正在尝试运行docker-compose up -d以下docker-compose.yml文件

version: '2'

services:
    php7-cli:
        build: php7-cli
        image: php7-cli
        tty: true
        volumes:
            - ../:/var/www/app
        networks:
            - my-network
networks:
    my-network:
        driver: bridge

docker-compose build构建成功,但如果我尝试,docker-compose up我会收到以下错误消息:

ERROR: could not find an available, non-overlapping IPv4 address 
pool among the defaults to assign to the network

当我尝试时docker network ls,我得到了

NETWORK ID          NAME                DRIVER              SCOPE
7c8a6c131c1b        bridge              bridge              local
9f16d3a33b4e        host                host                local
24c54a4323ed        none                null                local

我试图删除孤儿网络, docker network prune但未删除这些网络。

然后我尝试bridge手动删除网络docker network rm 7c8a6c131c1b

但我收到了这个错误

Error response from daemon: bridge is a pre-defined network and cannot be removed

这是我的docker version

docker version
Client:
 Version:      18.03.1-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   9ee9f40
 Built:        Thu Apr 26 07:17:20 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.03.1-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   9ee9f40
  Built:        Thu Apr 26 07:15:30 2018
  OS/Arch:      linux/amd64
  Experimental: false

标签: phpdockerdocker-composedevops

解决方案


将网络接口从 ens33 重命名为 eth0 后,同样的问题就消失了。使用的一个指南是https://www.itzgeek.com/how-tos/mini-howtos/change-default-network-name-ens33-to-old-eth0-on-ubuntu-16-04.html


推荐阅读