打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
可以用docker代替虚拟机,运行生产服务器吗?

正面回答这个问题之前,先看看虚拟机和Dcoker的区别。

  • 虚拟机:在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系统,每个操作系统之间是隔离的。举例说明:电脑上安装操作系统,比如我们安装了win10的操作系统;再往上安装虚拟机软件,比如我们常用的VirtualBox、VMWare,它们的作用是模拟计算机硬件;这样虚拟机模拟出来的操作系统了;在虚拟的操作系统中,安装所需的软件、组件等。比如我们在虚拟操作系统中安装JDK、Tomcat等;最后就是具体的应用了,也就是把应用部署到Tomcat中。

  • Docker:官方解释是开源的应用容器引擎。用人话解释一下:依然需要现在电脑上安装操作系统, 然后安装Docker容器的管理器,到了这一步,不需要自己安装JDK和Tomcat,而是由开发人员将素有的依赖和应用都被打包成了Docker镜像。例如,JDK、Tomcat、应用都被打包在了一起,运行在Docker容器里,容器和容器间是隔离的。

总结一下虚拟机和Docker的区别:

  • 从两者的架构图上看,虚拟机是在硬件级别进行虚拟化,模拟硬件搭建操作系统;而Docker是在操作系统的层面虚拟化,复用操作系统,运行Docker容器。

  • Docker的速度很快,秒级,而虚拟机的速度通常要按分钟计算。

  • Docker所用的资源更少,性能更高。同样一个物理机器,Docker运行的镜像数量远多于虚拟机的数量。

  • 虚拟机实现了操作系统之间的隔离,Docker算是进程之间的隔离,虚拟机隔离级别更高、安全性方面也更强。

再正面回答一下“Docker可以代替虚拟机运行生产服务器么”?

  • Docker是可以用于生产环境的;但是Docker是有学习成本的,前期要踩不少的坑;
  • 如果没有容器集群管理工具的话,只用Docker的话,没有太大必要(人肉维护?开发和运维都会死的);
  • 虚拟机和Docker各有优势,很多企业都采用物理机上做虚拟机,虚拟机中跑Docker的方式。
  • 总之,要说Docker代替虚拟机还为时过早,至少短期内不会;

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用 Docker 搭建 Java Web 运行环境 – 码农网
程序员必知的六种隔离技术
docker,你真的搞明白了吗?
再谈容器与虚拟机的那点事
Docker几个重要的问题
可能是把Docker的概念讲的最清楚的一篇文章
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服