分享好友 站长动态首页 网站导航

【docker系列】docker解决的实际问题及应用场景

2022-04-14 08:04 · 头闻号编程技术

文章目录


Docker是一个开源的容器引擎,它轻巧,且易移植,“build once, configure once and run anywhere”。使用go语言开发,并遵从apache2.0协议。

一、 传统软件行业中存在的问题

二、集装箱与docker之间的关系

通常称docker为软件行业的集装箱技术,那么docker和集装箱有什么相似之处呢

传统行业集装箱软件行业Docker
装载实体货物装载并运行应用服务
具有统一的规格,便于搬运封装环境的统一性(JDK、环境变量都可以封装在一个docker镜像里面,可以遵从一定规则反复的、快速的自动化安装部署
环境隔离,每个公司的集装箱货物与其他的公司的货物不混在一起。在linux中采用namespace技术进行资源隔离,cgroups技术进行资源限制。容器之间互不影响。
资源共享,一个运送集装箱的船舶,搭载多个集装箱一台服务器可以启动多个docker容器,达到共享服务器资源的目的
具备完整的物流仓储系统docker镜像仓库中的镜像,可以导出导入,上传下载

可以参考我的另一篇文章《【大话云原生】煮饺子与docker之间的关系》,我觉得这篇文章对于您理解docker将有非常大的帮助。

三、docker与虚拟机的区别

docker和虚拟机在某些应用场景下比较像,但是docker不是虚拟机。

docker是一种虚拟化容器技术,他和虚拟机最根本的区别是:docker容器和宿主机共用linux操作系统内核,不会在宿主机上再次安装操作系统。docker容器运行状态下的本质是宿主机上的进程,通过namespace资源隔离,cgroups资源限制,使它看上去像是一个独立的虚拟机.

对比项虚拟机docker容器
启动速度龟速(本质是启动操作系统秒速(本质是启动一个进程
镜像大小以Ubuntu为例,1G以上Ubuntu:195M
应用部署集成通常是手动安装下载镜像+启动镜像(自动)
内存访问效率,先访问虚拟地址基本等同于宿主机
CPU损耗虚拟操作系统造成的损耗较大接近于0

四、docker的应用场景

五、总结

如果初学者对于本节内容理解起来有困难,也不要气馁。其实docker的学习难度很低,随着学习的深入,上面的这些概念很容易理解的。

在这里插入图片描述

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

评论

0

收藏

点赞