众所周知,目前docker官方已经支持windows了。也出了对应的windows版本。使用了一下,感觉坑很多。转而寻求通过virtualbox+ubuntuserver的方式搭建windows下的docker环境。
注意:本文不是完整的一步一步搭建的教程,而是一些问题与注意事项的说明。
搭建思路
win7下安装virtualbox,然后在virtualbox下运行一个ubuntuserver,然后我们正常在虚拟机中安装docker环境即可。
win7下virtualbox无法选择安装64位系统
下载http://www.microsoft.com/en-us/download/details.aspx?id=592
这是win7虚拟化工具安装即可。同时需要确认BIOS是否启用了虚拟化支持。
对于win8及以上,只需要确保BIOS开启了虚拟化支持。
virtualbox+ubuntuserver与win7共享文件夹
安装VirtualBox Guest Additions增强功能才能实现文件夹共享。具体安装不做介绍,网上很多类似教程。以前都是通过ubuntu-desktop安装增强功能,没有发现任何有困难的地方。但是在ubuntu-server下安装VirtualBox Guest Additions增强功能时出现了问题:
解决方案:
安装编译工具和依赖
$ sudo apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r)
非GUI方式构建VBoxLinuxAdditions
$ sudo /media/cdrom/VBoxLinuxAdditions.run --nox11
共享文件夹权限问题解决
usermod -aG vboxsf <youruser>
ln -s /media/sf_Ubuntu /home/m/Desktop/vbox_shared
windows下连接virtualbox中的ubuntuserver
思路:采用端口转发。
windows访问docker内的服务器
思路:采用端口转发。
前面有介绍
windows开发,docker内服务器实时运行代码
思路:端口转发+文件夹共享+(如docker run -p 80:80 -v /share:/www)
前面有介绍。
后台(命令行)启动VirtualBox
每次启动都需要打开virtualbox界面是不是很烦?其实你可以很方便地通过CMD脚本启动。
启动脚本:
@echo off
:: by xby
cd /d D:\Program Files\Oracle\VirtualBox
VBoxManage startvm "ubuntu-server" -type headless
关闭脚本:
@echo off
:: by xby
cd /d "D:\Program Files\Oracle\VirtualBox"
VBoxManage controlvm "ubuntu-server" acpipowerbutton
后记:
是不是很方便。
也许你会埋怨本文标题提到docker,而文中通篇没有讲怎么搭建docker环境。但是本文提供了这样的思路。本文只是思路、问题、解决的说明。其余的教程网上太多了,这里不会再重复。
参考
http://en.ig.ma/notebook/2012/virtualbox-guest-additions-on-ubuntu-server
http://askubuntu.com/questions/155947/virtualbox-guest-additions-wont-install-on-ubuntu-server-12-04
http://unix.stackexchange.com/questions/52667/file-permission-issues-with-shared-folders-under-virtual-box-ubuntu-guest-wind