虚拟化都涉及到了哪些技术呢,有没有合适的书籍推荐下
1
xyjincan 2020-07-14 20:01:06 +08:00 5
docker 不是虚拟化
容器 = cgroup + namespace + rootfs + 容器引擎 Cgroup: 资源控制 namespace: 访问隔离 rootfs:文件系统隔离。镜像的本质就是一个 rootfs 文件 容器引擎:生命周期控制 链接: https://www.jianshu.com/p/ab423c3db59d |
2
sniperking1234 OP @xyjincan 叫容器化比较合适?
|
3
icy37785 2020-07-14 20:17:41 +08:00 via iPhone
@sniperking1234 #2 容器就是容器,为什么要叫他容器化...
|
4
locoz 2020-07-14 21:37:03 +08:00 via Android
@sniperking1234 #2 “容器化”是动词,不是名词,容器就是容器😂
|
5
chris89 2020-07-14 21:43:54 +08:00
好像刚开始,都容易把容器 和 虚拟化搞混,其实这是两个不同的概念。
|
6
UN2758 2020-07-14 21:57:21 +08:00
虚拟化和容器化确实是不同的,但是突然发现自己很难清楚的说出区别..
|
7
leimao 2020-07-14 22:13:48 +08:00 via iPhone
这些都是不怎么涉及应用的底层细节,Docker 官网应该就够了吧
|
8
RainyH2O 2020-07-15 01:37:03 +08:00 2
@xyjincan 容器化就是虚拟化,非要说的更严谨一些叫做操作系统级虚拟化。
所谓虚拟,无非就是指不真实存在的东西。虚拟化通过建立一个虚拟层,把底层的平台、设备、资源等真实存在的事物整合到一起,再通过这个虚拟层抽象出来一些新概念,提供给上层应用一个新的视图以便其更容易的利用底层的功能。 就好比容器这个概念,可不就是把 cgroup 、namespace 、rootfs 等这些操作系统提供的东西给统一成一个叫做“容器”的新概念给上面的应用去使用? 其他层次的虚拟化同理。 |
9
mmdsun 2020-07-15 02:13:43 +08:00 via Android
Docker 底层基于 Linux 内核中 Namespaces 、CGroups 等功能的。
Windows 有 Hyper-V 实现虚拟化,macos 有 HyperKit 。 再底层一点可以找点 Intel VT,amd-v 的参考。 docker 其应该属于操作系统虚拟化的范畴,也就是在由操作系统提供虚拟化的支持。叫它是一款以容器虚拟化技术为基础的软件也行。 容器化更多的是偏向同一操作系统于一个资源隔离应用,应用程序对机器有感知。虚拟机里应用对真实住宿无感知。 |
10
cheng6563 2020-07-15 08:51:59 +08:00 via Android
容器就是一个沙盒,内核什么的都是用的主机的,只是进行了资源隔离。
虚拟化是直接运行另一个操作系统。 |
11
unixeno 2020-07-15 12:31:27 +08:00 via Android
《自己动手写 docker 》
|