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

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

先放几个截图供查阅:windows

1.docker 引擎信息安全

image

2.容器基本操做app

image

image

3.容器镜像基本操做:ide

image

Docker for Windows运行环境要求:ui

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

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

Docker for Windows一些基本知识:blog

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:

image

image

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

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

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

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

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

开始安装吧!由于一点也不难!

参考连接:

开始使用Docker for Windows https://docs.docker.com/docker-for-windows/

安装Docker for Windows https://docs.docker.com/docker-for-windows/install/

tag:Docker for Windows

--end--