bor*_*ero 25 docker docker-swarm docker-networking
在我们的团队中,我们正在转换到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>
Run Code Online (Sandbox Code Playgroud)
使用时docker network ls,网络确实没有被删除,但是,docker network rm <id>总是导致以下结果:
Error response from daemon: network <id> not found
Run Code Online (Sandbox Code Playgroud)
更奇怪的是,docker network inspect <id>返回正常输出的事实.网络始终overlay是使用用于部署堆栈的撰写文件创建的网络.目前,我们的Swarm中只有一个节点.
我们当前的"解决方法"是重新启动Docker(解决问题),但这在生产环境中不是可行的解决方案.离开群并再次加入它也不能解决问题.
起初,我们认为这个问题只与Docker for Mac有关(因为我们第一次遇到本地机器上的问题),但Debian Stretch也出现了同样的问题.在这两种情况下,我们都使用最新的Docker发行版.
我真的很感激任何帮助!
Jin*_*alu 16
检查我们无法删除的网络
docker network inspect <id> or <name>
Run Code Online (Sandbox Code Playgroud)
断开网络
docker network disconnect -f <networkID> <endpointName> or <endpointId>
Run Code Online (Sandbox Code Playgroud)
删除未使用的网络
docker network prune
Run Code Online (Sandbox Code Playgroud)
小智 10
使用 docker prune 命令后,我无法在网络上启动 docker 容器。
以下错误指出:
错误:对于 jekyll-serve 无法启动服务 jekyll-serve:网络 b52287167caf352c7a03c4e924aaf7d78e2bc372c703560c003acc758c013432 未找到 错误:启动项目时遇到错误。
docker system prune
使我能够docker-compose up再次开始使用。
更多信息在这里:https : //docs.docker.com/config/pruning/
Ash*_*him 10
我无法通过之前答案中的任何方法摆脱网络。
这对我有用。
systemctl restart docker
Run Code Online (Sandbox Code Playgroud)
您始终可以使用它docker system prune -a来摆脱旧的网络。这不会删除您的卷。
到docker-compose up --build -d下一次将花费更长的时间,但是它将使您摆脱当前的问题。
这听起来很像这个问题。
堆栈 rm 跟随着堆栈部署“太快”将竞争创建/删除网络,可能是其他堆栈资源。
截至今天,该问题仍然存在(docker/cli),但您可以尝试建议的解决方法:
until [ -z "$(docker service ls --filter label=com.docker.stack.namespace=$COMPOSE_PROJECT_NAME -q)" ] || [ "$limit" -lt 0 ]; do
sleep 1;
done
until [ -z "$(docker network ls --filter label=com.docker.stack.namespace=$COMPOSE_PROJECT_NAME -q)" ] || [ "$limit" -lt 0 ]; do
sleep 1;
done
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您尝试将容器添加到已不存在的现有网络中,则可以使用docker-compose up --force-recreate。我发现此GitHub问题评论是有用的概述。
| 归档时间: |
|
| 查看次数: |
12100 次 |
| 最近记录: |