nwi*_*ler 34 docker boot2docker
更新到Docker v1.7.0(以及boot2docker)后,运行时出现以下错误docker ps
:
x509: certificate is valid for 127.0.0.1, 10.0.2.15, not 192.168.59.103
Run Code Online (Sandbox Code Playgroud)
这是这个版本的已知问题,我该怎么做才能解决这个问题?
nwi*_*ler 31
这是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
Run Code Online (Sandbox Code Playgroud)
来源(以及有关下载代码的更多详细信息):https://gist.github.com/garthk/d5a17007c277aa5c76de
这已经解决了我的问题,虽然我不得不通过VirtualBox UI 停止boot2docker-vm以获得一个干净的开始.
Gist将以下内容添加到.profile
boot2docker VM中的文件中:
wait4eth1() {
CNT=0
until ip a show eth1 | grep -q UP
do
[ $((CNT++)) -gt 60 ] && break || sleep 1
done
sleep 1
}
wait4eth1
Run Code Online (Sandbox Code Playgroud)
此功能最多等待1分钟,以便eth1接口出现.
另一种选择似乎是做
boot2docker delete
boot2docker init
boot2docker up
Run Code Online (Sandbox Code Playgroud)
这将破坏boot2docker VM - 您可能会丢失已完成的任何自定义.
Ted*_*ery 22
只需运行此命令即可解决问题.这是由Docker员工通过GitHub提出的.
boot2docker ssh sudo /etc/init.d/docker restart
不幸的是,每次启动boot2docker时都需要运行它.
我找到了以下"简单"替代方案.使用shell别名:
alias docker="docker --tlsverify=false"
Run Code Online (Sandbox Code Playgroud)
感谢Mark Duncan.
归档时间: |
|
查看次数: |
6158 次 |
最近记录: |