【发布时间】:2016-09-01 08:52:50
【问题描述】:
我的 Docker Machine 经常出现问题 - 每隔几天它就会超时,一旦发生这种情况我就无法恢复。
示例
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default virtualbox Timeout
环境信息
uname -a Darwin ColeyMBPR 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64
docker version 1.11.0
docker-machine version 0.7.0
vboxmanage --version 5.0.20r106931
尝试的解决方案
我已经尝试过以下事情,没有特别的顺序:
- 正在重新启动 docker 机器。
- 正在运行
eval "$(docker-machine env default)" - 重新生成证书
docker-machine regenerate-certs default - 正在重新启动我的主机箱。
- 升级 Docker。
- 重新安装 Docker。
- 正在升级 VirtualBox。
- 删除所有 VirtualBox 仅限主机的网络设备。
破解
现在唯一对我有用的是销毁 docker 机器并重新创建它。这会破坏我所有的图像和容器,并且重新设置它非常耗时。
docker-machine rm -y default && docker-machine create -d virtualbox default && eval $(docker-machine env)
有什么我可以尝试的吗?谢谢!
更新:5 月 9 日(复制步骤)
我可以通过以下步骤可靠地重现此问题:
- 从新创建的 Docker 机器开始。
- 使用
docker-compose up构建一些容器。 - 关闭运行容器的计算机。
- 重启后,由于 Docker 机器超时,Docker CLI 无法工作。
【问题讨论】:
-
docker-machine ssh 默认工作吗?
-
所以像 docker ps 这样的命令不起作用?但是 ssh 有效吗?
-
尝试切换到新的docker (beta) 解决方案
-
是的,没错。
-
我遇到了完全相同的问题。可以 ssh,但无法激活。
标签: macos docker timeout virtualbox docker-machine