Windows Server容器与Linux容器非常类似都是通过命名空间、资源控制等技术实现进程隔离。每个Windows Server容器都与宿主机共享同一个内核与HyperV容器相比,它的启动速度更快、资源消耗更低但是Hyper V嫆器可以借助虚拟化技术提供更好的隔离性。
注:由于微软的基础操作系统镜像在大陆下载非常缓慢建议选择香港区域做实验。
首先我們创建一个Windows Server 2016请选择型号III的规格,并选择“Windows Server 2016 数据中心版”操作系统镜像由于Windows镜像都比较大,建议扩大系统盘容量
因为我希望通过Windows Remote Desktop来访問ECS实例,需要在公网入方向开放RDP端口3389其配置方法如下:
注:从安全角度出发,请按需配置需要对外暴露的端口
完成之后,请执行下面命令重启服务器
重启完毕我们就可以通过如下命令查看 Docker Engine 的状态了。
编辑Docker Engine的配置文件详细配置可以参见
注:微软的系统镜像中的层文件並不保存在Docker Hub之上,在国内访问非常痛苦即使配置了阿里云加速器也无法提升传输效率。可以通过docker save/load的方式加载操作系统基础镜像
在测试目录创建如下Dockerfile
文件,它会在微软IIS镜像的基础上添加一个"index.html"
我们利用浏览器打开ECS主机的地址,就可以看见我们生成的网页了 (注,需要在安铨组配置中创建HTTP协议的公网入方向配置)
Docker从1.12版本之后提供了 isolation
参数可以由用户选择不同的隔离机制
阿里云环境中,Windows Server本身就是运行在虚拟化環境中所以目前不支持 HyperV 的容器运行时。
在阿里云上利用Windows Server 2016和Docker技术可以敏捷地交付Windows应用对于企业用户而言有着重要的意义。在之后的文章Φ我们会逐渐介绍Windows容器的其他特性比如Swarm模式集群支持等。
阿里云容器服务也在计划提供对Windows容器的支持了解更多容器服务内容,请访问