在我们的团队中,我们目前正在过渡到 Docker 以在我们的服务器上部署所有内容。
我们正在使用 Docker Swarm 和多个 (10+) 组合文件来定义大量 (20+) 服务。到目前为止,一切都运行良好,除非我们使用 docker stack rm <name>
我们的堆栈(并使用 docker stack deploy <options> <name>
重新部署):大约每秒钟,我们都会收到以下错误:
Failed to remove network <id>: Error response from daemon: network <id> not foundFailed to remove some resources from stack: <name>
使用 docker network ls
时,确实没有删除网络,但是, docker network rm <id>
总是导致以下结果:
Error response from daemon: network <id> not found
更奇怪的是 docker network inspect <id>
返回一个正常的输出。网络始终是 overlay
使用用于部署我们的堆栈的 compose 文件创建的网络。目前,我们的 Swarm 中只有一个节点。
我们当前的“解决方法”是重新启动 Docker(这解决了问题),但这在生产环境中不是一个可行的解决方案。离开蜂群并再次加入它也不能解决问题。
起初,我们认为这个问题仅与 Docker for Mac 相关(因为我们第一次在本地机器上遇到了这个问题),然而,同样的问题出现在 Debian Stretch 上。在这两种情况下,我们都使用可用的最新 Docker 发行版。
我真的很感激任何帮助!
原文由 borchero 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您尝试将容器添加到不再存在的现有网络,则可以使用
docker-compose up --force-recreate
。我发现这个 GitHub 问题评论 是一个有用的概述。