我正在使用以下命令构建docker
映像
docker-compose -f "docker-compose.yml" up -d --build
但它返回错误ERROR: 2 matches found based on name: network officeconverter_default is ambiguous
这是一个有点清楚,在我的机器有两个同名的网络试图存在。
- 问题是如何从Docker网络中删除网络 *
PS E:\repos\Github\officeconverter> docker network ls
NETWORK ID NAME DRIVER SCOPE
868c88a83bd6 bridge bridge local
92f7d20ed432 officeconverter_default bridge local
3f96cfb7b591 officeconverter_default bridge local
7条答案
按热度按时间ao218c7q1#
解决方法很简单!
只要移除网络。
比如
docker network rm <network Id> <space> <network Id> ....
eagi6jfj2#
尝试:
docker network prune
这将删除您的所有网络。
z3yyvxxp3#
对我有效的解决方案是:
docker system prune -af
docker volume prune --force
.af7jpaap4#
使用
sudo cronjob -e
打开cronjob,然后添加新行*/1 * * * * docker network prune -f
这将每分钟清理一次未使用的网络(如果有)。
nuypyhwy5#
正如其他人所说,你可以
docker network rm <network id>
来 * 实际上 * 删除它们。但如果您需要选择要删除的 * 哪一个 *,您可以:
...然后查看
Created
时间(或其他元数据)以决定删除哪个。在我的情况下,我需要删除较新的,并保留较旧的。
xxls0lw86#
一种选择是使用不同的网络名称创建一个新网络,并将您的Docker容器连接到该网络。
网桥网络名称不明确时也会发生类似的错误。
一个家伙已经做了一个完整的博客文章,关于如何解决这个问题。
我发现就我而言它非常有用,我相信这对其他处于类似情况的人也会有用,即使你处理的是一个不是网桥的网络:https://www.jorgeanaya.dev/en/bin/docker-network-name-is-ambiguous/
下面是这篇博客文章中的简短变通方法(所有功劳都归功于Jorge Anaya):
1.创建新网络。使用参数-d指定驱动程序
docker network create -d bridge [new-network-name]
1.断开容器与不明确网络的连接
docker network disconnect bridge [container-name]
1.将容器连接到新网络
docker network connect [new-network-name] [container-name]
1.可选。清除网络并清除未使用的网络
docker network rm $(docker network ls -q)
就这样,现在我们应该可以启动容器了。
不要忘记在每个权限命令的开头添加
sudo
。qaxu7uf27#
只要运行docker删除修剪它将删除所有网络,并再次创建。