社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Peter Mortensen user7226407  »  全部回复
回复总数  4
7 年前
回复了 Peter Mortensen user7226407 创建的主题 » VM的Guesto和Docker的Basic Image有什么区别?

这里有很多很好的技术答案,清楚地讨论了虚拟机和容器之间的区别,以及Docker的起源。

对我来说,VMs和Docker的根本区别在于如何管理应用程序的推广。

通过虚拟机,您可以将应用程序及其依赖关系从一个虚拟机升级到下一个开发人员,从UAT升级到PRD。

  1. 这些虚拟机通常会有不同的补丁和库。
  2. 多个应用程序共享一个VM并不罕见。这需要管理所有应用程序的配置和依赖关系。
  3. 回退需要撤消VM中的更改。或者如果可能的话修复它。

Docker的想法是将应用程序与它所需的库捆绑在自己的容器中,然后升级应用程序 整体 容器作为一个单独的单元。

  1. 除了内核,补丁和库是相同的。
  2. 一般来说,每个容器只有一个应用程序,这简化了配置。
  3. 回退包括停止和删除容器。

因此,在最基本的层面上,使用虚拟机,您可以将应用程序及其依赖项提升为离散组件,而使用Docker,您可以一次性提升所有组件。

是的,容器也存在一些问题,包括管理容器,尽管Kubernetes或Docker Swarm等工具大大简化了任务。

7 年前
回复了 Peter Mortensen user7226407 创建的主题 » VM的Guesto和Docker的Basic Image有什么区别?

用一个 虚拟机 ,我们有一台服务器,服务器上有一个主机操作系统,然后我们有一个虚拟机监控程序。然后运行在虚拟机监控程序之上,我们有任意数量的客户操作系统,其中包含一个应用程序及其依赖的二进制文件,以及该服务器上的库。它带来了一个完整的客户操作系统。它相当重。此外,你可以在每台物理机器上实际投入多少也有限制。

Enter image description here

码头集装箱 另一方面,两者略有不同。我们有服务器。我们有主机操作系统。但是 而是一个虚拟机监控程序 ,我们有 Docker引擎 ,在这种情况下。在这种情况下,我们不会带来一个完整的客户操作系统。 我们带来了一层非常薄的操作系统 ,容器可以向下与主机操作系统对话,以获得那里的内核功能。这让我们有了一个非常轻的容器。

它所拥有的只是应用程序代码以及所需的任何二进制文件和库。这些二进制文件和库实际上可以在不同的容器中共享,如果您希望的话。这使我们能够做很多事情。他们有 .你不可能在几秒钟内就站起来一个虚拟机。同样,尽快把它们取下来。。所以我们可以很快地放大和缩小,稍后我们将讨论这一点。

Enter image description here

每个容器都认为它在自己的操作系统副本上运行。它有自己的文件系统,自己的注册表等等,这是一种谎言。它实际上被虚拟化了。

7 年前
回复了 Peter Mortensen user7226407 创建的主题 » VM的Guesto和Docker的Basic Image有什么区别?

Docker封装应用程序及其所有依赖项。

虚拟机封装了一个操作系统,可以运行它通常可以在裸机上运行的任何应用程序。

8 年前
回复了 Peter Mortensen user7226407 创建的主题 » VM的Guesto和Docker的Basic Image有什么区别?

通过这篇文章,我们将画出VMs和LXC之间的一些区别。让我们首先定义它们。

虚拟机 :

虚拟机模拟物理计算环境,但对CPU、内存、硬盘、网络和其他硬件资源的请求由虚拟化层管理,虚拟化层将这些请求转换为底层物理硬件。

在此上下文中,VM被称为来宾,而它运行的环境被称为主机。

LXC s:

Linux容器(LXC)是操作系统级别的功能,可以在一台控制主机(LXC主机)上运行多个独立的Linux容器。Linux容器作为虚拟机的轻量级替代品,因为它们不需要虚拟机监控程序viz。Virtualbox、KVM、Xen等。

现在,除非你被艾伦(宿醉系列中的扎克·加利菲亚纳基斯)下药并在拉斯维加斯待了一年,否则你会非常清楚Linux容器技术的巨大兴趣激增,如果我要说的是具体的话,在过去几个月里在全世界引起轰动的一个容器项目是Docker,它引发了一些呼应的观点,即云计算环境应该放弃虚拟机(VM),并用容器代替它们,因为它们的开销更低,性能可能更好。

但最大的问题是,它可行吗?,这样做明智吗?

a、 LXC的作用域是Linux的一个实例。它可能是不同风格的Linux(例如CentOS主机上的Ubuntu容器,但它仍然是Linux)类似地,基于Windows的容器现在的作用域是Windows的一个实例,如果我们看一下虚拟机,它们的作用域相当大,并且使用虚拟机监控程序,您不局限于操作系统Linux或Windows。

b、 与虚拟机相比,LXC具有较低的开销和更好的性能。工具,即。基于LXC技术的Docker为开发人员提供了一个运行其应用程序的平台,同时也为运营人员提供了一个工具,使他们能够在生产服务器或数据中心部署相同的容器。它试图让运行应用程序、引导和测试应用程序的开发人员与部署该应用程序的操作人员之间的体验无缝连接,因为这就是所有摩擦的所在,而DevOps的目的就是打破这些竖井。

因此,最好的方法是云基础设施提供商应该提倡适当使用VM和LXC,因为它们都适合处理特定的工作负载和场景。

到目前为止,放弃虚拟机并不现实。所以VMs和LXC都有各自的存在和重要性。