发布网友 发布时间:2022-04-24 09:44
共4个回答
热心网友 时间:2022-06-18 15:44
我来换个方式说一下吧。
如果不讲究的话,你把docker近似的看成虚拟机问题也不大。 (刚开始可以不用纠结那些公用内核,系统调用,应用进程之类的)
docker嘛,一个字就是快。两个字就是省心。
你vmware装个centos 要多久,保守估计算上下载系统镜像到安装完也要个20分钟吧。 docker呢,一个docker pull centos 命令, 几秒钟搞定了。 接着连进去随你怎么折腾。
但是,玩是不会赚钱的,得向外提供服务才能赚钱,比如用httpd搭建一个网页服务器。 难不成我还得自己进去配置, no no no ,不用的, 直接在配置文件里写一条命令,或者干脆直接下载一个带http的镜像,多了几十毫秒,就搞定了。 软件再多,也分分钟搞定,再加上k8s这样的管理docker软件。 一个yaml格式的配置文件 加上一条超方便的kubectl apply 命令,几秒钟就可以搭建一个包含超多软件的复杂集群。效率和速度真是让人叹为观止。
因为docker快,现在连解决问题的思路都有一些变化, 比如docker里面的某个httpd服务不可用了,你说东西不能用了得找原因修吧, 但是因为启动一个太快了。 所以干脆先别修,直接在启动一个新的docker,顶上去。 那个坏了的,要么直接扔掉,要么等待白天工作时间载慢慢找原因。
所以docker 比虚拟机,个人感觉就是单个系统启动快,复杂系统配置快,东西坏了直接扔带来的系统恢复速度快。
话说回来,要是真不在意启动时间和运行时间,虚拟机中完整的系统哪点不比docker强?
热心网友 时间:2022-06-18 15:44
Docker是一个开源的应用容器引擎,可以让开发者将自身的应用或者软件移植到镜像中,然后发布到任何一个Windows机器或者Linux机器上,当然Docker也可以实现虚拟化。而一个完整的Docker是由:Docker Client客户端,Docker Daemon 守护进程,Docker Image 镜像和Docker Container 容器来组成的。容器是完全采用沙箱机制,相互之间不会有任何接口。
而Docker比虚拟机强大的地方在于:
第一:启动时间:Docker容器是秒级启动的,而虚拟机时分钟级启动,在启动速度方面,Docker就能够完美地碾压了虚拟机。
第二:占用空间和性能:在占用空间和性能方面,Docker容器镜像比虚拟机要小得多且性能要比虚拟机更强。
第三:使用要求:虚拟机是基于硬件的虚拟化,其CPU也要有支持虚拟化的支持,Docker共享宿主机内核,可运行在主流的Linux,不用考虑CPU是否支持虚拟化技术。
热心网友 时间:2022-06-18 15:45
Docker容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员设计的,用于构建、发布和运行分布式应用的平台。它是一个跨平台、可移植并且简单易用的容器解决方案。Docker能在容器内部快速自动化地部署应用,并通过操作系统内核技术(namespaces、cgroups等)为容器提供资源隔离与安全保障。
1,每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用。
2.每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。
3.而容器技术是和我们的宿主机共享硬件资源及操作系统,可以实现资源的动态分配。
4.Docker 启动快速属于秒级别。虚拟机通常需要几分钟去启动。
5.Docker 需要的资源更少。Docker 在操作系统级别进行虚拟化,Docker 容器和内核交互,几乎没有性能损耗,性能优于通过Hypervisor 层与内核层的虚拟化。
6.容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户空间以分离的进程运行。
7.容器还赋予我们对资源更多的精细化控制能力,让我们的基础设施效率更高。
8.容器可以帮助保证应用程序快速、可靠、一致地部署,其间不受部署环境的影响。
热心网友 时间:2022-06-18 15:45
Docker是一个开源的应用容器引擎,可以让开发者将自身的应用或者软件移植到镜像中,然后发布到任何一个Windows机器或者Linux机器上,当然Docker也可以实现虚拟化。