docker虚拟机,docker虚拟机安装

作者:高方托管网 2024-07-06 16:51:35 0

大家好,今天小编关注到一个比较有意思的话题,就是关于docker虚拟机的问题,于是小编就整理了1个相关介绍docker虚拟机的解答,让我们一起看看吧。

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

这个问题太好了,最近一直在学习docker,刚好昨天才把学习笔记整理出来发布到博客上。首先答案是可以的,具体怎样看我下面回答
  1. 首先说下服务器干嘛的,不就是为您的应用程序做服务的吗,把一个程序部署到服务就可以通过网址访问了。

    docker虚拟机,docker虚拟机安装

  2. 那docker是干嘛的呢,也是为应用程序做服务的,是一个容器专门盛放应用程序的。把一个应用放到docker中就可以访问了。

服务器与docker有什么不同?

一个项目开发的过程中是不是经常碰到一个问题,在我这边运行的没问题啊,怎么在你那边运行就有问题呢?然后摔锅

应用部署到服务器上的过程:因为我是做java开发的,就拿一个正常的java项目举例。首先需要在服务器上搭建基础环境:

  • 配置jdk
  • 配置tomcat

  • 配置mysql
  • 配置redis

这只是一个简单的项目的部署前的配置,之后把您的项目打包发送的tomcat,运行即可。那如果有十几个服务器需要部署呢?是不是就要配置环境十多次,那人不是崩溃了。而且还会出现开发那边运行没问题,部署上去有问题的事情。所以这个时候docker出来了。
应用部署到docker上的过程:

  • 开发环境下直接打包成镜像

  • 把镜像上传到docker容器即可

两步搞定,不需要配置复杂的环境。如果有十多个容器需要部署怎么办?直接远程下载镜像即可,是不是很简单。

总结:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。也是闲着比较流行替代服务器的最佳选择


如果您有什么问题欢迎在评论区留言指出

要回答这个问题,需要先了解虚拟机和docker的根本区别是什么。


从计算机软件层级来看,docker和虚拟机的区别在于虚拟的软件层级不一样。虚拟机基于同一个硬件,模拟出不同的操作系统;而docker基于同一个操作系统,模拟出不同的运行时环境。我们依次来看:

1. 先看看计算机的软件层次,从下到上依次为:操作系统内核、文件系统(运行时环境)、上层APP。

2. 虚拟机运行在同一个硬件上,可以虚拟出不同的操作系统。比如vmware可以在一台pc上既模拟出一个windows系统,同时也可以模拟出一台linux系统。借助虚拟机,两个不同的操作系统可以同时运行在同一个硬件之上。

3. 而docker则运行在同一个操作系统内核上,虚拟出不同的文件系统或者也可以叫做运行时环境。不同的运行时环境,其对应的文件系统也是不同的。比如java的运行时环境就要求文件系统里存在jdk,而golang的运行时环境则需要有go相关的底层库。在docker上既可以虚拟出一个java的运行时环境,也可以虚拟出go的运行时环境。甚至,基于docker,你既可以虚拟出一个java-1.6的运行时候环境,也可以虚拟出一个java-1.8的运行时环境,而这两个运行时环境可以同时运行在同一个操作系统之上


了解了虚拟机和docker的区别之后,那我们来看看楼主提出来的问题。这个问题的核心在于对“生产服务器”的理解。

如果把“生产服务器”理解成一个操作系统或者和操作系统紧耦合的环境,比如windows系统,那么显然是无法在docker上运行的;如果把“生产服务器”理解成一个独立的运行时环境,那么按照我们在上面的讲述,显然是可以在docker上运行的。

但是,我认为第二种解释要比较合理。

先说答案,现在比较激进的公司已经逐渐加大docker在生产环境中的使用比例了。这里不光包括互联网公司而且一些国企也在对这项技术提供支持。

docker好不好,我们来说说虚拟化的发展史。

  • 在十几年之前的数据中心基本上还看不到PC服务器的身影,大多是小型机,这种设备很贵,一台的价格可以是现在PC服务器的几倍、几十倍。这时的虚拟化都是在设备本身上进行,可以在设备还没有完全启动阶段定义CPU、内存、硬盘等的分配。
  • 后来PC服务器出现了,VMware ESXi从操作系统级别完成了服务器的虚拟化。这个过程实现了虚拟化的从硬件到软件的转换,使用上也要比小型机的虚拟化方便。当VMware Station作为应用软件出现在个人PC上以后,使得操作系统虚拟化成为人人可以接触的技术。当我们需要无污染地进行软件安装实验的时候完全可以在个人PC通过上VMware Station安装对应的操作系统进行。
  • 但VMware Station的一个致命缺点就是占用资源太高,为每一个虚拟机创建完全的虚拟化环境。就是因为这个缺点造就了docker的出现,它继承了VMware Station的灵活性的同时可以在和宿主机共享资源的情况下完成虚拟化,启动做到秒级,也是完胜以前虚拟化技术。并且因为 Kubernetes的加成可以同时完成海量级的容器部署。

其实虚拟化技术也就是软件环境隔离技术,为不同软件构建一个与其他环境分割并且不互相影响的环境。docker已经在资源占用和隔离性之间找到了平衡点。虽然服务容器化还无法完全替代物理机,但也存在各种各样的问题。但是它是生产力提高的需求,是大势。以后会有越来越多的企业把它应用到生产环境中。

答案肯定是可以的,这已经是当前的流行趋势,从mysql就能看得出来,数据库这么重要的东西都能通过docker来运行,更不用说我们的小项目了;如果说你们公司还没有应用docker和kubernetes,只能说你们是传统行业,技术迭代的速度有点儿慢。

有图有真相,上图是docker官方网站的大背景图,企业级容器平台、快速安全可靠。

docker有如下特点

  • 标准:Docker镜像有着同样的标准,可移植,可以根据镜像快速构建容器服务。

  • 轻量级:容器共享物理机器,每个应用程序不需要单独的操作系统,从而提高服务器利用率。

  • 安全:应用程序在容器中更安全,Docker提供业界最强的默认隔离功能。

传统虚拟机相比docker而言:

虚拟机是将一台服务器转变为多台服务器的物理硬件的抽象,允许多个虚拟机在一台机器上运行,每个虚拟机都包含一个操作系统、应用程序、必要的二进制文件和库的完整副本,占用了数十个GB,另外虚拟机的启动速度也很慢。

除此之外相比传统的部署方式,每次都是安装完一个软件再安装另一个软件,大量重复的工作,并且在安装过程中易出错,结果难易保证。和docker相比较,方便、易管理、标准等以上特性还不足以让你去尝试吗?

到此,以上就是小编对于docker虚拟机的问题就介绍到这了,希望介绍关于docker虚拟机的1点解答对大家有用。

相关推荐