记一次阿里云 Windows Server 2012 安装 Docker
想要折腾 Docker 很久了,一个很好的工具,推出了 Windows 平台也有一段时间了,所以准备着手在阿里云 ECS 上试一下。
做过了的尝试
第一次:使用了 Boot2docker,安装了Virtualbox,这也是 Docker 官方推荐的 Windows 下虚拟机软件,后面才知道,这款虚拟机的作用是为了在 Windows 虚拟出 Linux 环境,简单地说,Docker 还是要运行在 Linux 环境下。
上图是使用了该虚拟机,点击桌面 Quickstart 图标后(Boot2docker安装好了)出现的报错内容,提示:This computer doesn't have VT-X/AMD-v enabled.Enabling it in the BIOS is mandatory.
阿里工单回复
以为是如报错所示的错误,没有在 BIOS 中开启硬件虚拟化。所以向阿里云提交了工单,请求协助开启一下相关配置,但得到了如下回复:
根据阿里云工程师的提示,使用不二次虚拟的软件即可。
翻来覆去,决定尝试一下使用 Docker + VMware 的办法,虽然也是需要运行一个虚拟化的环境,但是报错的内容是 Hyper-V
相关的,能不能不使用这个方法呢?
果然大佬很多,根据这份文章Docker for windows on VMware提供的方法,可以尝试使用 VMware Workstation,然而 Docker 官方并不支持 VMware Workstation 驱动,所以需要第三方驱动的支持 Github 地址:docker-machine-vmwareworkstation,虽然是非官方的,但是收录在官方指导文件里https://docs.docker.com/machine/drivers。
再次尝试
多番尝试后,发现在启动虚拟机的时候,ECS 总是会断开连接,再次连接后发现,是重启的状态。
工单回复
于是,再次提交工单:得到回复如图
结论
很明显了,阿里云是不支持在 ECS 上开启虚拟机的。
多次查阅支持文档,终于翻到了阿里云的相关说明:ECS 产品简介使用须知
为什么?
- 答案1:阿里云 ECS 是基于虚拟化平台运行的,如果在服务器上部署虚拟化程序,会导致服务器出现不可预测的问题,请勿在服务器内部部署虚拟化程序。
- 答案2:运行 KVM 的话,需要获取到硬件的管理权限。这在 VM 中几乎是 mission impossible
- 答案3:不仅阿里云不支持,别家也不行哦,x86 的指令体系设计不支持嵌套的虚拟化,所以哪家也支持不了的(工单回复)。
使用 Windows Server 2016 自带的支持 Docker 有望吗?
没有尝试,但是多次查看论坛后,发现 ECS 不会给你启动 Hyper-v 支持的
VM 支持嵌套虚拟吗?
支持。部分需要使用代码开启
Next:使用 Telnet 的 BBS 论坛 Firebird NT BBS B3 For Windows
感谢,你把我劝退了,我要做的事情正是在2012系统上安装docker,需要一个linux环境,这属于嵌套虚拟了,我还好看的你的文章了,要不要重走英雄路了.
我没有尝试过阿里云的linux环境安装docker,我在百度云的centos系统中可以安装docker,或许阿里云的linux环境也可以安装docker。
+1
劝退
谢谢劝退
感谢,火坑我跳了,来找原因,果然还是火坑