说一说windows原生docker及windows Server Container , Hyper Container 之间的关系(学习总结)

         前一段时间学习netcore的时候解除到了docker,感受真是不错的技术。百度了很多教程。由于我用windows就下载安装了一下试试。可是没有安装成功,才发现 须要安装virtualbox虚拟机,与个人hyper-v冲突。后来看新闻出了windows版的docker,把virtualbox换成了hyper-v。也算小惊喜吧,心想若是能出原生的windows 版docker就行了。试着 注册了个docker帐号 ,并申请内测(打肿脸充胖子),一个月过去了,也没见给发邮件。linux

 

      因而又百度了些资料,发现了 Windows Containers Documentation 这一个网站,这不就是windows版的docker吗,读了以后才知道,原来是真正的windows 原生 docker,基于windows内核的,再也不是原来的linux虚拟机。可是目前只能运行在windows server2016 和nanoserver上,win10上我试着安装了一下,提示“The Windows daemon requires Windows Server 2016 Technical Preview 5 build 14300 or later”。winnserver2016感受有点庞大 ,就装了轻量版的nanoserver,费了九牛二虎之力总算能用了。(看文章特别是教程仍是得一步步慢慢的看,急不得,我当时就是用到啥看啥,安装时遇到了多问题)。docker

 

      windows版的docker提供了两套 容器技术,一种是server container,这种和linux上的docker差很少,几个容器能够共享主机内核,任务管理器里面能够看到对应进程,隔离级别比较低。windows


      另外一种就是 Hyper Container ,这一种就是在外边又加了一层虚拟机,这种能提供内核级别的隔离,容器运行在本身的内核中,主机任务管理器查看不到,其实就是一个小虚拟机,这种部署起来也不麻烦,和第一种差很少,只须要加上“--isolation=hyperv”参数就行 好比“
docker run --isolation=hyperv nanoserver ping localhost -t ”。  其中naoserver是OS镜像。下面咱们说一说 容器镜像
     
学习

   容器镜像分两种,一种是os镜像 另外一种就是普通的容器镜像, os镜像由 微软提供里面包含os核心组件。由微软提供。如今有两套os镜像:网站

 

Name                 Version          Source           Summary
----                 -------          ------           -------
NanoServer           10.0.14300.1010  ContainerImag... Container OS Image of Windows Server 2016 Technical...
WindowsServerCore    10.0.14300.1000  ContainerImag... Container OS Image of Windows Server 2016 Technical...

另外一种就是普通的容器镜像,这种镜像基于os镜像或者其余镜像。
ui

还有就是就是学习过程当中遇到的两个问题 :spa

第一个是运行nanosever上docker时候好比docker run -it... docker attach...的时候会报错 须要用docker的远程管理 ,具体见https://docs.docker.com/engine/security/https/
翻译

第二个是以hyper-v容器(--isolation=hyperv)的方式运行的时候提示not enough storage......我如今也不知道什么缘由。code

更多内容你们仍是参考 Windows Containers Documentation 。语言最好切换到英文,由于英文文章的更新日期是四月份,汉语翻译文章的日期是二月份,相差俩个月 ,里面的东西不少都不同了。server

相关文章
相关标签/搜索