需求
想玩nodeClub 源码跑起来,结果window 上各种报错,各种依赖软件要装的感觉,所以怒装虚拟机装linux, 看网上Docker 挺热的,就决定试下docker,结果再次入坑啊!
安装
由于是window 下安装,看 Docker官网的window安装指南, 直接下载 Boot2Docker for Windows installer,根据安装指南进行安装就可以了
入门使用
安装成功后 桌面上 有Boot2Docker Start 的快捷图标,点击就可以启动boot2docker 了。
不过从此我就开始遇上问题了,我一直报错,如图: 大概意思是:“ Error requesting socket: exit status 255 ”
通过搜索错误信息 找到了 Docker error:Error requesting socket: exit status 255 这篇文章,个人理解的意思是同boot2docker up -v 查看错误信息,在错误信息中找到VM 的IP,然后直接通过 ssh docker@IP 连入docker 所在的VM (默认密码是tcuser),可是我boot2docker up -v 输出的错误信息中没有找到IP信息啊, 通过命令boot2docker ip 输出的信息如下:
此时打开VM 界面是可以看到boot2docker-vm 是正在运行的running 状态,命令行下boot2docker status可以查看其状态,这是怀疑是VM 的网络设置问题了,通过VM 图形界面更改网络设置,然后通过boot2docker start 重新连入,还是没有解决
重新回到输出的错误信息:“Error requesting socket: exit status 255” 上,在stackoverflow 找到了相关的答案 boot2docker shellinit command ended up in error “Error requesting socket: exit status 255”。根据答案把host文件改了(以前有些虚拟的假域名指向本地)同时
boot2docker delete //删除当前的VM boot2docker-vm
boot2docker init //重新初始化VM boot2docker-vm
boot2docker up // 启动VM boot2docker-vm
出现了一下提示:
和 Docke官网 install 指南 最后的截图有点相似了,这时候运行测试安装成功的docker run hello-world
还是提示不成功的如下:
这时候还是在当前主机操作系统(我们本身用的机器)并没有进入docker中,所以要通过ssh docker@ip
命令连入到VM boot2docker-vm中,上图:
小鲸鱼出现啦!
这时候的prompt 变成了docker@boot2docker ~$
首次通过ssh 连接时候需要key 的链接确认直接yes就可以了!
感觉终于看见进行终极测试docker run hello-world
了!上图:
hello from Docker //成功标志
总结
成功后才明白boot2docer其实是shell 把window 的命令转换成Linux的,只有ssh 连入之后才可以开始docker