为了账号安全,请及时绑定邮箱和手机立即绑定

Windows 8.1中运行Boot2Docker环境

标签:
Docker


本地建立的Docker容器当然最简单的就是通过Ubuntu或者CentOS系统,考虑到开发测试环境通常是Windows的环境,当然也有文艺青年用的Mac系统,这样就不能直接在本地跑Docker了,简单的方法就是通过下载boot2docker项目在本地运行Docker环境,boot2docker是基于Tiny Core Linux构建的轻量级Linux 发行版,主要用于运行Docker容器,只有27MB大小完全运行于内存中,启动时间号称只有5秒钟;那么在Windows环境通常有两种方法,一种通过Oracle提供的Virtualbox运行的环境,当然对于有了Windows 8之后版本的环境可以直接通过Hyper-V虚拟机实现。

考虑到工作的便利条件,那就直接在Windows 8.1的Hyper-V上运行Boot2Docker的测试环境好了,boot2docker引导的ISO文件可以通过https://github.com/steeve/boot2docker/releases下载 ,创建虚拟机从ISO文件引导,注意启动以后如果需要持久化磁盘,则需要通过修改Hyper-V中虚拟机磁盘设置,建议测试环境可以设置为动态磁盘,具体方法可以参考这个外国兄弟的博文。在虚拟机中将boot2docker的网络连接配置到连接外网的虚拟交换机上,这样Docker环境才可以通过外部URL pull/push 容器映像文件。设置完成后启动boot2docker环境,可以通过两种方式连接Docker,一种直接通过Hyper-V的虚拟机控制台,还有一种是远程管理方式,可以通过SSH连接到boot2docker虚拟机;像Windows 8.1环境内置了Powershell, 如果本地安装了github客户端,集成了poshgit工具那么可以直接通过Powershell使用ssh docker@<boot2docker_vm_ipaddr>连接,注意默认的连接credential是docker/tcuser。

下面为一些关键步骤截图:

为boot2docker虚拟机创建外部交换。

创建动态虚拟机磁盘

虚拟机控制台管理并查看当前boot2docker外部网络IP用于外部连接,

通过Powershell中启用SSH远程连接管理boot2docker的外部网络IP,

配置后的持久化磁盘及文件系统,

另外如果想直接运行VirtualBox的环境而不是Hyper-V,那么就一定要禁用Hyper-V的服务;否则启动boot2docker的Virutalbox会一直提示你没有启用VT-X,明明已经在Bios里面启用不是吗?所以,一种方法关闭Hyper-V的服务;这种方式比较简单但是每次切换都要重新启动也挺麻烦的。

还有一种更直接的方法是引导Windows 8.1的时候直接进入不启用Hyper-V hypervisor的环境,这样切换起来相对比较简单也不用每次都改。

查看当前启动配置, 已管理员身份启动cmd控制台,运行bcdedit,显示当前引导环境中 hypervisorlaunchtype = auto

复制当前配置引导项并创建新的选项,

Bcdedit /copy {current} /d "Windows 8.1 without Hyper-V"

修改新添加的启动配置项设置hypervisorlaunchtype 为关闭状态,

Bcdedit /set {新创建的配置选项ID} hypervisorlaunchtype off

重新启动就可以正常引导Virtualbox环境下的boot2docker容器了。

©著作权归作者所有:来自51CTO博客作者翟老猫的原创作品,如需转载,请注明出处,否则将追究法律责任

1


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消