Docker运行多服务应用报错:指定网络未找到,请求排查
Docker网络不存在错误的解决方法
检查脚本中的网络引用
查看你的shell脚本是否硬编码了错误提示里的网络ID11bddb7d7c120ba7e465e59949a2a4983250253a7f3b6bf8c528bdfaaeec931c。Docker网络ID是动态生成的,每次创建都会变化,硬编码固定ID必然导致找不到网络的问题。如果是这种情况,将脚本中的网络ID替换为自定义的网络名称,或者让脚本自动创建所需网络。手动创建目标网络
先确定应用需要的网络名称(比如my-app-network),执行以下命令创建网络:docker network create my-app-network随后修改脚本,让所有服务容器连接到这个指定名称的网络,而非固定ID。
清理残留容器的无效网络引用
即使网络被意外删除,部分容器的配置可能仍保留着该网络的引用。执行以下命令停止并删除关联了该无效网络的容器:docker stop $(docker ps -aq --filter "network=11bddb7d7c120ba7e465e59949a2a4983250253a7f3b6bf8c528bdfaaeec931c") docker rm $(docker ps -aq --filter "network=11bddb7d7c120ba7e465e59949a2a4983250253a7f3b6bf8c528bdfaaeec931c")清理完成后重新运行脚本,确保脚本会自动创建所需网络(若脚本包含创建逻辑)。
重启Docker服务
Docker daemon状态异常可能导致网络元数据丢失,尝试重启服务:# Ubuntu/Debian系统 sudo systemctl restart docker # CentOS/RHEL系统 sudo service docker restart # macOS(Docker Desktop) 打开Docker Desktop,点击右上角图标选择Restart选项重启后再次执行启动脚本。
修复网络元数据损坏
若以上方法无效,可能是Docker网络元数据损坏。先备份网络数据,再清理后重启Docker:sudo systemctl stop docker sudo cp -r /var/lib/docker/networks /var/lib/docker/networks_backup sudo rm -rf /var/lib/docker/networks/* sudo systemctl start docker完成后重新创建网络并启动应用服务。
内容的提问来源于stack exchange,提问作者user22279368
相关产品推荐
相关产品推荐

