docker - 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 并重新安装以使其正常工作。我希望有另一种方法来解决这个问题。
解决方案
对失败的管理器有用的不是重新启动整个节点,而是停止 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)