在我们的团队中,我们目前正在过渡到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网络。目前,我们的Swarm中只有一个节点。
我们目前的“变通办法”是重启Docker (它解决了这个问题),但这在生产环境中不是一个可行的解决方案。离开蜂群并再次加入蜂群也不能解决问题。
起初,我们认为这个问题只与Docker for Mac有关(因为我们第一次遇到这个问题是在本地机器上),然而,同样的问题出现在Debian Stretch上。在这两种情况下,我们都使用可用的最新Docker发行版。
如果有任何帮助,我将不胜感激!
发布于 2019-03-28 02:01:54
如果您尝试将容器添加到不再存在的现有网络中,则可以使用docker-compose up --force-recreate。我发现这个GitHub issues comment是一个很有帮助的概述。
发布于 2018-11-27 09:58:12
您可以随时使用docker system prune -a来摆脱旧的网络。这不会删除您的卷。
下一次使用docker-compose up --build -d需要更长的时间,但它将帮助您克服当前的问题。
发布于 2020-03-25 09:35:21
使用docker prune命令后,我无法在网络上启动docker容器。
声明了以下错误:
jekyll服务错误:jekyll-的无法启动服务jekyll-serve:找不到网络服务错误:在启动项目时遇到错误。
docker system prune使我能够再次开始使用docker-compose up。
更多信息请点击此处:https://docs.docker.com/config/pruning/
https://stackoverflow.com/questions/53347951
复制相似问题