Docker是一个非常跨时代的工具,是在继虚拟化之后的新一个好用易用的工具,可以极大提升开发和部署的效率。本文将解决一个在Mac上部署Docker之时碰到的问题。
操作系统: MacOS 10.13.2 (17C205)
Docker 版本: 17.12.0-ce-mac47
Dock version Command:
docker version
错误信息为: Fatal Error com.docker.supervisor failed to start Exit code 1.
然后docker就启动失败了,整个docker无法正常启动….
这个docker可是我刚刚从docker的官方网站下载的最新stable版本,这个是什么鬼?我直接开始怀疑docker本身的质量问题和可靠性问题….
在网上搜索了一番,在其官方站点上,有很多人都报出了类似问题,而且是都是在最近几天,基于最新的版本发生的问题,真是让人汗颜��, 这个质量真是让人揪心呀…..
找来找去,各种方法都适用过了,但是问题依然没有办法解决,我的心��了….
佛祖曰:自助者天助,求人不若求记。 于是还是立足自身来解决问题吧。根据偶十多年的经验,什么风浪没有见过,只要是技术问题,总是有相关的错误信息可以作为线索来追查的。
首先调用了报错界面上的Diagnose来进行诊断问题,可以看到很多的错误信息:
从错误信息中发现了若干个关键词: vpnkit,moby。于是顺藤摸瓜尝试查找相关信息,找到了类似的信息:
https://docs.docker.com/docker-for-mac/install/#what-to-know-before-you-install 中找到了相关信息:
从上文中可知,hyperkit是docker for mac的依赖包,应该是需要提前安装的。难道我的问题就是由于这个未安装造成的吗?
项目主页: https://github.com/moby/hyperkit
在页面主页中涉及到了若干安装HyperKit的相关信息,这里使用Brew来进行包的安装,关于Brew的安装和使用,这里不再赘述,不懂的童鞋可以自行上网搜索安装和使用指南。
brew install opam libev
结果输出为:
opam init
结果输出信息为:
eval
结果输出为:
又是一个很纠结的问题, 提示sha不可用,qcow-tool的版本冲突。该如何处理呢?
尝试了一下指令: brew install sha
结果输出为:
于是就直接安装qcow-tool指令
opam install qcow-tool
结果输出为:
从上述结果中,可以发现qcow和sha都被正确的安装了,擦了一头冷汗,一个docker怎么需要这么多的依赖呀。。。。
重新启动docker的桌面工具,然后可以正常使用了,且没有报出fatal error的问题了。问题解决了。。。内心很欢喜的样子。。。。