众所周知,目前docker官方已经支持windows了。也出了对应的windows版本。使用了一下,感觉坑很多。转而寻求通过virtualbox+ubuntuserver的方式搭建windows下的docker环境。
注意:本文不是完整的一步一步搭建的教程,而是一些问题与注意事项的说明。搭建思路
win7下安装virtualbox,然后在virtualbox下运行一个ubuntuserver,然后我们正常在虚拟机中安装docker环境即可。
win7下virtualbox无法选择安装64位系统
下载
这是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 vboxsfln -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 xbycd /d D:\Program Files\Oracle\VirtualBoxVBoxManage startvm "ubuntu-server" -type headless
关闭脚本:
@echo off:: by xbycd /d "D:\Program Files\Oracle\VirtualBox"VBoxManage controlvm "ubuntu-server" acpipowerbutton
后记:
是不是很方便。也许你会埋怨本文标题提到docker,而文中通篇没有讲怎么搭建docker环境。但是本文提供了这样的思路。本文只是思路、问题、解决的说明。其余的教程网上太多了,这里不会再重复。参考