发布于2022-04-14 18:49 阅读(697) 评论(0) 点赞(23) 收藏(3)
笔者打算写一个完整系列的docker知识总结,本文是第一篇,主要介绍docker是什么?主要的应用场景是什么?解决了哪些问题?和虚拟机有什么区别?
通常称docker为软件行业的集装箱技术,那么docker和集装箱有什么相似之处呢?
传统行业集装箱 | 软件行业Docker |
---|---|
装载实体货物 | 装载并运行应用服务 |
具有统一的规格,便于搬运 | 封装环境的统一性(JDK、环境变量都可以封装在一个docker镜像里面),可以遵从一定规则反复的、快速的自动化安装部署 |
环境隔离,每个公司的集装箱货物与其他的公司的货物不混在一起。 | 在linux中采用namespace技术进行资源隔离,cgroups技术进行资源限制。容器之间互不影响。 |
资源共享,一个运送集装箱的船舶,搭载多个集装箱 | 一台服务器可以启动多个docker容器,达到共享服务器资源的目的 |
具备完整的物流仓储系统 | docker镜像仓库中的镜像,可以导出导入,上传下载 |
可以参考我的另一篇文章《【大话云原生】煮饺子与docker之间的关系》,我觉得这篇文章对于您理解docker将有非常大的帮助。
docker和虚拟机在某些应用场景下比较像,但是docker不是虚拟机。
docker是一种虚拟化容器技术,他和虚拟机最根本的区别是:docker容器和宿主机共用linux操作系统内核,不会在宿主机上再次安装操作系统。docker容器运行状态下的本质是宿主机上的进程,通过namespace资源隔离,cgroups资源限制,使它看上去像是一个独立的虚拟机.
对比项 | 虚拟机 | docker容器 |
---|---|---|
启动速度 | 龟速(本质是启动操作系统) | 秒速(本质是启动一个进程) |
镜像大小 | 以Ubuntu为例,1G以上 | Ubuntu:195M |
应用部署集成 | 通常是手动安装 | 下载镜像+启动镜像(自动) |
内存访问效率 | 慢,先访问虚拟地址 | 基本等同于宿主机 |
CPU损耗 | 虚拟操作系统造成的损耗较大 | 接近于0 |
如果初学者对于本节内容理解起来有困难,也不要气馁。其实docker的学习难度很低,随着学习的深入,上面的这些概念很容易理解的。
原文链接:https://blog.csdn.net/hanxiaotongtong/article/details/123813977
作者:javajava我最强
链接:http://www.javaheidong.com/blog/article/412757/326731d4ba37f74baadb/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!