这是第二次使用Docker for Windows了。

最近准备研究一下Docker的一些高级特性如Swarm Clusters,需要用到docker-machine,docker-machine目前仅支持Mac 或 Windows,由于没有Mac所以需要在Windows上运行Docker。官方声称Docker for Windows是一个在Windows系统中创建容器化App的完整开发平台。看完这篇文章,或许你会对Docker和Windows有重新的认识,一改之前对Windows的那些“不好感”。

先放几个截图供查阅:

1.docker 引擎信息

使用Docker for Windows初体验_重启

2.容器基本操作

使用Docker for Windows初体验_docker_02

使用Docker for Windows初体验_docker_03

3.容器镜像基本操作:

使用Docker for Windows初体验_linux_04

Docker for Windows运行环境要求:

1.当前Docker for Windows版本需要64位Windows 10 Pro、Enterprise或Education(1511 November update, Build 10586 or later)系统,后续版本可能会支持更多Windows 10,Windows Server 2016同样被支持

2.必须启用CPU虚拟化和Hyper-V功能,Hyper-V角色可以在Docker for Windows安装过程中自动安装,可能会重启Windows,一旦安装Docker for Windows,将无法再使用VMware虚拟化产品以及其他虚拟化产品,如无法再使用VMware Workstation和Virtualbox等

Docker for Windows一些基本知识:

Docker for Windows运行原理远比现有了解的复杂的多得多,只是简单描述一些已经获得的知识:

1.Docker for Windows的组成部分有多个,不仅包含Windows平台上的一些bin程序供用户使用,也包含了一个基于Hyper-V的虚拟机,虚拟机采用Alpine Linux v3.5操作系统

2.docker volume create指令创建出的数据卷存在在虚拟机中,不易与主机进行交互(Hyper-V虚拟机运行期间无法将磁盘中的数据暴露到主机上),因此数据卷这个功能或许会被-v选项所替代

3.Docker for Windows与PowerShell联用,通过PowerShell来操作docker行为,当然cmd也可以

4.Docker for Windows支持两种容器,Linux container和Windows Container,默认是Linux container,依赖于运行在Hyper-V中的虚拟机。Windows Container并不依赖于虚拟机,但也同样依赖于Hyper-V。两种模式的切换会导致重启Windows,而且显而易见的两种模式下的数据并不共享,它们的配置和数据都是独立存在的。令人意外的是Windows container无法运行依赖Linux环境的容器,如nginx等。

Docker for Windows使用小技巧:

与Linux平台上安装的docker环境基本一样,Docker for Windows同样支持一些共有的特性:

1.配置不安全的registry地址和registry镜像(加速)地址

2.支持数据卷和主机存储路径映射(-v选项),数据卷的支持在Docker for Windows中用起来不方便(参考上文的基本知识),推荐使用-v选项

3.在使用-v选项之前,个人建议在磁盘管理中创建一个vhd虚拟磁盘挂载到主机,比如标记成E盘,然后将这个虚拟磁盘共享给Docker for Windows:

使用Docker for Windows初体验_docker_05

使用Docker for Windows初体验_docker_06

需要注意的是,重启后vhd虚拟磁盘将会不再挂载,需要手动"附加vhd"。

借助Docker for Windows做几件有意思的事儿:

1.重新定义app,将运行在Linux上的app,原生的“放到”Windows中,轻松获得心理上的“原生感”

2.操作容器简单化,不再需要打开VMware等虚拟化产品也不需要再使用端口映射,启动Linux再启动容器这样麻烦,只需要双击运行Docker for Windows,即可使用,外部访问轻松配置

3.开始玩转docker-machine和Swarm Clusters等

开始安装吧!因为一点也不难!