说一说windows原生docker及windows Server Container , Hyper Container 之间的关系(学习总结)
前一段时间学习netcore的时候解除到了docker,感觉真是不错的技术。百度了不少教程。因为我用windows就下载安装了一下试试。但是没有安装成功,才发现 需要安装virtualbox虚拟机,与我的hyper-v冲突。后来看新闻出了windows版的docker,把virtualbox换成了hyper-v。也算小惊喜吧,心想如果能出原生的windows 版docker就好了。试着 注册了个docker账号 ,并申请内测(打肿脸充胖子),一个月过去了,也没见给发邮件。
于是又百度了些资料,发现了 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,费了九牛二虎之力总算能用了。(看文章特别是教程还是得一步步慢慢的看,急不得,我当时就是用到啥看啥,安装时遇到了多问题)。
windows版的docker提供了两套 容器技术,一种是server container,这种和linux上的docker差不多,几个容器可以共享主机内核,任务管理器里面可以看到对应进程,隔离级别比较低。
另一种就是 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 Technical...
WindowsServerCore 10.0.14300.1000 ContainerImag... Container OS Image of Windows Server Technical...
另一种就是普通的容器镜像,这种镜像基于os镜像或者其他镜像。
还有就是就是学习过程中遇到的两个问题 :
第一个是运行nanosever上docker时候比如docker run -it... docker attach...的时候会报错 需要用docker的远程管理 ,具体见https://docs.docker.com/engine/security/https/
第二个是以hyper-v容器(--isolation=hyperv)的方式运行的时候提示not enough storage......我现在也不知道什么原因。
更多内容大家还是参考 Windows Containers Documentation 。语言最好切换到英文,因为英文文章的更新日期是四月份,汉语翻译文章的日期是二月份,相差俩个月 ,里面的东西很多都不一样了。
说一说windows原生docker及windows Server Container , Hyper Container 之间的关系(学习总结)的更多相关文章
- docker,containerd,runc,docker-shim之间的关系
原文:https://blog.csdn.net/u013812710/article/details/79001463 关于containerd关于containerd的一些详解介绍,请参考cont ...
- windows 屏幕坐标 窗口坐标 客户区坐标 逻辑坐标 设备坐标之间的关系及转换
设置坐标映射 (1)Windows坐标系统 Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系.一般而言, GDI的文本和图形输出函数使用逻辑坐标,而在客户区移动或按下鼠 ...
- 在Linux和Windows的Docker容器中运行ASP.NET Core
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...
- Docker for Windows(四)实践搭建&删除MySQL服务
我们已经下载安装好了Docker for Windows:Docker for Windows(一)下载与安装,也简单了解了Docker常用命令:Docker for Windows(三)Docker ...
- [Tool] Windows 8.1安装SQL Server
[Tool] Windows 8.1安装SQL Server 问题情景 因为工作的关系,需要在Windows 8.1.64Bit设备上安装SQL Server 2012.本来以为是个只要按下一步就可以 ...
- 初识Docker和Windows Server容器
概览 伴随着Windows Server 2016 Technical Preview 3 (TP3)版本的发布,微软首次提供了Windows平台下地原生容器.它集成了Docker对Windows S ...
- 使用Docker for Windows初体验
https://www.baidu.com/link?url=61Kwadwh6h__2Vmjf7lAKVo1RjhsULAqERcMXYnYzkLKrRVpygwBJVnjultH8zbq& ...
- 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)
环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...
- Docker for Windows使用简介
在上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程.本文将介绍Docker for Windows的使用. 先决条件 前两周时间,Do ...
随机推荐
- LINQ之路 9:LINQ to SQL 和 Entity Framework(上)
在上一篇中,我们从理论和概念上详细的了解了LINQ的第二种架构“解释查询”.在这接下来的二个篇章中,我们将使用LINQ to SQL和Entity Framework来实践“解释查询”,学习这些技术的 ...
- NSScanner知悉 (转)
http://blog.csdn.net/likendsl/article/details/7974761 NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的 ...
- contiki-process结构体
struct process { struct process *next; #if PROCESS_CONF_NO_PROCESS_NAMES #define PROCESS_NAME_STRING ...
- SQL DDL
Sql语言被分为四大类:数据查询语言(DQL),数据操纵语言(DML),数据定义语言(DDL),数据控制语言(DCL). 1. 数据查询语言(DQL) 数据查询语言基本结构由select子句,from ...
- 把本地仓库工程上传到github上和从gitbu同步工程到本地
1.在本地产生秘钥和公钥 [root@jacky git_project]# ssh-keygen -t rsa -C "jacky-lulu@1073740572@qq.com" ...
- cocos2d-x 图片性能测试
本文是原创文章,如需转载,请注明文章出处 本次测试使用的cocos2d-x版本是3.9,测试环境是XCode7自带的iphone5 一.JPG格式与PVR.CCZ格式对比 1.占用空间对比 a)不透明 ...
- text-transform属性
text-transform -- 定义文本的大小写状态,此属性对中文无意义 取值:capitalize | uppercase | lowercase | none | inherit capita ...
- 51nod 1181 质数中的质数(质数筛法)
题目链接:51nod 1181 质数中的质数(质数筛法) #include<cstdio> #include<cmath> #include<cstring> #i ...
- FPGA 相同模块 VIVADO synthesis综合后
显示所用的LUT as Memory结果不一致可能是什么原因导致的?
- mybatis高级(3)_延迟加载_深度延迟_一级缓存_二级缓存
设置延迟加载需要在mybatis.xml中设置 注: 侵入式延迟加载为真时是延迟加载 侵入式延迟加载为假时是深度延迟加载 <!-- 延迟加载和深度延迟加载 --> <settings ...