docker 怎么有很多操作系统级的镜像?

2019-06-08 23:37:28 +08:00
 azev
因为看 docker 资料一直提及自己跟虚拟机很不同,没有自己的操作系统。那这些镜像是怎么回事呢?是给 windows 做虚拟机用的?
4038 次点击
所在节点    问与答
10 条回复
cops
2019-06-08 23:47:05 +08:00
你还是先了解 docker 是什么吧……
swulling
2019-06-09 00:07:32 +08:00
docker 的标准 container 没有自己的内核,但是也可以起轻量型虚机
gamexg
2019-06-09 00:09:14 +08:00
不是没有自己的操作系统,而是没有自己的内核。
所有的 docker 容器共用主机的 linux 内核,但是通过内核的各种功能隔离开。
除了内核之外的部分可以看作都齐全。

常规的各个 linux 发行版用的都是 linux 内核,虽然不同系统间版本号不同,编译选项不同,打的补丁也会有些区别,但是还是一个东西。
简单理解各个发行版主要区别在于软件部分,包括默认的软件版本,包管理系统等等,这些部分不属于内核。而不同的 docker 容器系统就在这部分有区别,ubuntu docker 容器虽然共用的主机 linux 内核,但是软件、包管理等都是使用的自己的。
WebKit
2019-06-09 00:19:45 +08:00
@gamexg 类似于 openvz ?那 Windows 上怎么实现的
gamexg
2019-06-09 00:25:36 +08:00
@WebKit #4 是的。
目前已知的 windows 实现都是开一个 linux 虚拟机( docker 最新官方实现是 hyper-v 虚拟机),然后再虚拟机上面再开 docker。
gamexg
2019-06-09 00:27:05 +08:00
@WebKit #4 上面说的是 windows 系统运行 linux 容器,
docker 在 windows 系统上面运行 windows 容器不怎么了解了。
WebKit
2019-06-09 00:50:24 +08:00
@gamexg 感谢大佬
WebKit
2019-06-09 00:50:53 +08:00
@gamexg 好像是 wine 那种。
wwqgtxx
2019-06-09 08:12:44 +08:00
@WebKit #8 docker 在 win 上运行原生 win 容器用的还是 hyperv,并不是 wine
azev
2019-06-09 10:54:52 +08:00
@gamexg 多谢 正看些资料 确实是这样 。
那些操作系统级别的镜像并不是完整的操作系统,主要特点就是没有内核,只包含了内核外的各自特性部分,比如包管理什么的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/572059

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX