我的 Docker Machine 经常出现问题 - 每隔几天它就会超时,一旦发生这种情况我就无法恢复它。
Example
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 机器。
- Running
eval "$(docker-machine env default)"
- 重新生成证书
docker-machine regenerate-certs default
- 重新启动我的主机盒。
- 升级 Docker。
- 重新安装 Docker。
- 升级 VirtualBox。
- 删除所有 VirtualBox 仅主机网络设备。
Hack
现在唯一对我有用的就是销毁 docker 机器并重新创建它。这会破坏我所有的图像和容器,并且重新设置它非常耗时。
docker-machine rm -y default && docker-machine create -d virtualbox default && eval $(docker-machine env)
有什么我可以尝试的吗? Thanks!
更新:5 月 9 日(重现步骤)
我可以通过以下步骤可靠地重现此问题:
- 从新创建的 Docker 机器开始。
- Use
docker-compose up
构建一些容器。
- 关闭容器运行时的计算机。
- 重新启动后,由于 Docker 机器超时,Docker CLI 无法工作。
这个命令对我来说适用于 digitalocean 驱动程序:
docker-machine ls -t 20
似乎默认超时 10 秒 https://docs.docker.com/machine/reference/ls/太短了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)