执行docker-compose up的时候报错network with driver “bridge“

发布于:2024-04-14 ⋅ 阅读:(67) ⋅ 点赞:(0)

执行docker-compose up的时候报错network with driver “bridge”

在这里插入图片描述

(base) [root@VM-100-213-centos ~/composetest]# docker-compose up -d
Creating network “composetest_default” with the default driver ERROR:
could not find an available, non-overlapping IPv4 address pool among
the defaults to assign to the network

尝试方法一

删除原来运行过的容器,重新运行

docker rm -f 
docker-compose up -d

尝试方法二

先查看networks,执行prune,问题依旧

docker network ls
docker network prune

执行docker network rm试试

docker network rm $(docker network ls -q)

(base) [root@VM-100-213-centos ~/composetest]# docker network rm $(docker network ls -q) Error response from daemon: bridge is a pre-defined network and cannot be removed
Error response from daemon:
host is a pre-defined network and cannot be removed Error response
from daemon: none is a pre-defined network and cannot be removed

原来docker默认有3种网络:bridge、host、none,这三个网络是不能被删除的。所以,网上常见的解决方法不适用。

docker network ls

此命令用于列出当前Docker环境中所有已创建的网络。执行后,您将看到一个列表,包含每个网络的基本信息,如网络名称、网络ID、驱动类型(如bridge、overlay等)、是否为内部网络以及是否为默认网络等。示例输出如下:

NETWORK ID          NAME                DRIVER              SCOPE
0b0a2f9e0e3d        bridge              bridge              local
d6c5f5195b0e        host                host                local
123456abcde7        my_custom_network   bridge              local
987654fedcba        none                null                local

docker network prune

此命令用于清理(删除)所有未被任何容器使用的网络。这些通常是由于之前创建的容器已停止或被删除,但其关联的网络并未被自动清理所遗留下来的。使用docker network prune可以有效地释放资源,保持Docker网络环境的整洁。执行此命令时,Docker会显示即将删除的网络列表,并询问您是否确认执行该操作。如果您确认(通常通过输入yyes并回车),Docker将删除所有未使用的网络。

示例交互式提示:

WARNING! This will remove all networks not used by at least one container.
Are you sure you want to continue? [y/N] y

请注意,一旦执行docker network prune并确认删除,被清理的网络及其配置将无法恢复。在执行此命令前,请确保您了解哪些网络处于未使用状态,避免误删仍在使用或将来可能需要复用的网络。如果您只想删除特定的未使用网络,应使用docker network rm <network_name_or_id>命令指定目标网络进行删除。


网站公告

今日签到

点亮在社区的每一天
去签到