首页 > 解决方案 > Docker swarm leave --force - 超出上下文截止日期

问题描述

我在这里关注 Docker 教程https://docs.docker.com/get-started/part3/

docker swarm leave --force当我在页面教程结束时执行命令时,我不断收到Error response from daemon: context deadline exceeded

每次我执行docker swarm leave --force命令时,终端似乎只是挂起,它不再提供错误消息,但它不会返回提示我输入任何命令,除非我执行 CTRL+C。

链接教程开头的docker swarm init命令在此状态下也没有响应。

docker swarm 命令再次工作的唯一一次是我关闭我的 VM 实例并重新启动它。但是,当我再次从链接中执行这些步骤时,我在docker swarm leave --force命令上得到了同样的错误

有什么想法为什么要这样做?

我在 Virtual Box 中运行Ubuntu 18.04.1 LTS ,docker版本 为 18.09.0-rc1,build 6e632f7

我看到这个其他链接不能离开群模式关于同样的问题,它已经有 2 年历史了,那里的答案似乎是解决方法或完全删除 Docker 并重新安装以使其正常工作。我希望有另一种方法来解决这个问题。

标签: dockerubuntuvirtualboxdocker-swarm

解决方案


对失败的管理器有用的不是重新启动整个节点,而是停止 docker 服务,删除/var/lib/docker/swarm目录,重新启动 docker 服务,然后读取管理器:

关于经理失败(失败的经理):

sudo systemctl stop docker
sudo rm -r /var/lib/docker/swarm
sudo systemctl start docker

关于经理工作(其他,职能经理):

docker node demote manager-failing
docker node rm manager-failing
ssh manager-failing $(docker swarm join-token manager | tail -2)

推荐阅读