更新到Docker v1.7.0(以及boot2docker)后,运行时出现以下错误docker ps:
docker ps
x509: certificate is valid for 127.0.0.1, 10.0.2.15, not 192.168.59.103
这是该版本的已知问题吗,我该如何解决?
这是boot2docker版本1.7.0中引入的一个已知问题:https : //github.com/boot2docker/boot2docker/issues/824
更新到boot2docker 1.7.1修复了这个问题,如所描述这里。
它似乎与引导过程中网络接口的建立方式有关。以下选项可用于解决此问题。
该修补程序将运行以下序列,该序列将添加代码以等待所有网络接口出现:
boot2docker ssh sudo curl -o /var/lib/boot2docker/profile https://gist.githubusercontent.com/garthk/d5a17007c277aa5c76de/raw/3d09c77aae38b4f2809d504784965f5a16f2de4c/profile sudo halt boot2docker up
来源(以及有关所下载代码的更多详细信息):https : //gist.github.com/garthk/d5a17007c277aa5c76de
尽管我必须通过VirtualBox UI 停止 boot2docker-vm 才能获得一个干净的开始,但这已为我解决了该问题。
Gist将以下内容添加到.profileboot2docker VM中的文件中:
.profile
wait4eth1() { CNT=0 until ip a show eth1 | grep -q UP do [ $((CNT++)) -gt 60 ] && break || sleep 1 done sleep 1 } wait4eth1
此功能最多等待1分钟,以使 eth1 接口启动。
另一个选择似乎是要做
boot2docker delete boot2docker init boot2docker up
这将破坏boot2docker VM-您可能会丢失所做的任何自定义。