视频1 视频21 视频41 视频61 文章1 文章21 文章41 文章61 文章81 文章101 标签大全1 标签大全51 标签大全101 标签大全151 标签大全201 标签大全251 标签大全301 标签大全351 标签大全401 标签大全451 信息系统项目管理师 开学第一课观后感 男人的网站 苏轼的词 洗衣机品牌排行榜
教育

docker原理

作者:原创时间:2022-08-04

docker原理是什么,让我们一起了解一下?

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:

DockerClient客户端

Docker Daemon守护进程

Docker Image镜像

DockerContainer容器

Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同, LXC 其并不是一套硬件虚拟化方法 - 无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观。所以我们从虚拟化到docker要解决的问题出发,看看他是怎么满足用户虚拟化需求的。

用户需要考虑虚拟化方法,尤其是硬件虚拟化方法,需要借助其解决的主要是以下4个问题:

隔离性 - 每个用户实例之间相互隔离, 互不影响。 硬件虚拟化方法给出的方法是VM, LXC给出的方法是container,更细一点是kernel namespace

可配额/可度量 - 每个用户实例可以按需提供其计算资源,所使用的资源可以被计量。硬件虚拟化方法因为虚拟了CPU, memory可以方便实现, LXC则主要是利用cgroups来控制资源

移动性 - 用户的实例可以很方便地复制、移动和重建。硬件虚拟化方法提供snapshot和image来实现,docker(主要)利用AUFS实现

安全性 - 这个话题比较大,这里强调是host主机的角度尽量保护container。硬件虚拟化的方法因为虚拟化的水平比较高,用户进程都是在KVM等虚拟机容器中翻译运行的, 然而对于LXC,用户的进程是lxc-start进程的子进程, 只是在Kernel的namespace中隔离的, 因此需要一些kernel的patch来保证用户的运行环境不会受到来自host主机的恶意入侵, dotcloud(主要是)利用kernel grsec patch解决的。

以上就是小编的分享,希望可以帮助到大家。

显示全文
怎么洗丝袜 桃胶怎样洗才干净 洗脸池上的污渍怎样去除 校服上的黑笔迹怎么洗掉 羊毛裤怎么洗呢 颜色是指什么 蒸馒头要多长时间呢 蒸馒头是冷水还是热水下锅 羊毛围巾第一次怎么样洗 羊绒衫怎么洗才不缩水 羽绒服洗了后有水印怎么办 枕巾上的头油怎么洗得干净 是谁发明的灯泡 料酒可以用什么东西代替 料酒到底应该什么时候放 煤气罐什么情况下会爆炸 煤气煤气灶打不着火原因和处理方法 跑步的好处有哪些 怎么清理手机音响孔 铜生锈要怎么去除 棉服如何洗不跑棉成坨 聚酯纤维如何洗 聚酯纤维是啥面料 加绒卫衣要怎么洗 狐狸毛皮草如何洗 锅灰怎样洗干净 韭黄是什么啊 电磁炉是否有辐射 电磁炉用什么锅好 1000下跳绳能消耗多少卡路里 黄油指的是什么 豆豉指的是什么 韩信是怎么死的 关羽是怎么死的 龙卷风是怎么样形成的 猪肉有股骚味是什么情况 喊山的真实故事是怎么样 郡的意思和含义指的是什么 端午节纪念屈原的由来指什么 菠萝和凤梨的区别是什么