windows下 docker-machine 报错 Error checking TLS connection

错误信息

今天准备学习docker,打开docker start 终端后,报如下错误信息:

$ docker-machine.exe env
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: connectex: No connection could be made because the target machine actively refused it.
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
Be advised that this will trigger a Docker daemon restart which might stop running containers.

clipboard.png

这段英文说的是:

啊,安全链接失败啦。检查是否添加或者自己重新生成一下证书去链接docker boot2docker虚拟机器的docker守护进程的api

重新生成

它让使用docker-machine regenerate-certs 【name】生成
我也就照做了,哇,还警告我操作不可逆,我擦还是不行,尝试验证失败,but我是能ssh到default容器内部的啊

clipboard.png

接着进入内部看看?

$docker-machine ssh default

docker守护进程死掉了?????what fuck
clipboard.png

但是在boot2docker内部是不允许使用dockerd启动docker守护进程的,所以这个时候我们加上sudo命令

$sudo dockerd

报错提示是/etc/docker/daemon.js文件有错。

问题越来越多,目前出现了两个问题:

  • boot2docker内部守护进程启动不起来。

  • 证书的重新生成也失败。

在搜寻一堆无果后,我启动以下应急方案,等找到针对这个解决方案可以得再完善

干脆重新去搞一个虚拟机算了
$docker-machine create -d virtualbox mh-keystore

操作文档

在我生成的过程中,我发现虚拟机器一直卡住在分配IP的那个位置,

clipboard.png

解决方案

在我对比了,新虚拟机和这个出错的default虚拟机后,我发现似乎这个daemon文件不应该出现,所以我删掉了

clipboard.png

阅读 12.4k

推荐阅读
易猿Blogs
用户专栏

zhaojunlike的个人博客

14 人关注
27 篇文章
专栏主页