记一次阿里云 Windows Server 2012 安装 Docker

共码了1135个字
文内使用到的标签:

想要折腾 Docker 很久了,一个很好的工具,推出了 Windows 平台也有一段时间了,所以准备着手在阿里云 ECS 上试一下。

做过了的尝试

第一次:使用了 Boot2docker,安装了Virtualbox,这也是 Docker 官方推荐的 Windows 下虚拟机软件,后面才知道,这款虚拟机的作用是为了在 Windows 虚拟出 Linux 环境,简单地说,Docker 还是要运行在 Linux 环境下。

Docker运行报错
Docker运行报错

上图是使用了该虚拟机,点击桌面 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 支持嵌套虚拟吗?

支持。部分需要使用代码开启

Prev:
Next:

《 “记一次阿里云 Windows Server 2012 安装 Docker” 》 有 6 条评论

  1. 回风说道:

    感谢,你把我劝退了,我要做的事情正是在2012系统上安装docker,需要一个linux环境,这属于嵌套虚拟了,我还好看的你的文章了,要不要重走英雄路了.

  2. wq说道:

    劝退

  3. kam说道:

    谢谢劝退

  4. muta说道:

    感谢,火坑我跳了,来找原因,果然还是火坑

回复 回风 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注