一些基本的概念

  • 物理机:从概念上来讲,物理机是相对于虚拟机而言的,对实体计算机的称呼。它的作用,就是给虚拟机提供需要的硬件环境。有时候,也会成为“寄主”或“宿主”。
  • 虚拟机:是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
通过物理机和虚拟机的配合,一台计算机上可以安装上多个操作系统(一个外界操作系统和虚拟机中的数个操作系统),并且几个操作系统间还可以实现通信,就像是有多台计算机一样。

举个栗子

物理机就是实实在在的机器,比你的电脑。
你电脑上装一个VM,那么你的电脑可以称之为宿主机
VM上装个Linux,则该Linux可以称之为虚拟机


docker和虚拟机的区别

docker比vm有什么优势 vm和docker区别_Docker

docker 在概念上可以理解为一个虚拟机,但却不是真正意义上的虚拟机`

- 相同点:

容器和虚拟机一样,都会对物理硬件资源进行共享使用。

容器和虚拟机的生命周期比较相似(创建、运行、暂停、关闭等等)。

容器中或虚拟机中都可以安装各种应用,如redis、mysql、nginx等。也就是说,在容器中的操作,如同在一个虚拟机(操作系统)中操作一样

同虚拟机一样,docker中的容器创建后,会存储在宿主机上;
linux上的容器位于/var/lib/docker/containers下

-不同点:

虚拟机的创建、启动和关闭都是基于一个完整的操作系统。一个虚拟机就是一个完整的操作系统。
而容器直接运行在宿主机的内核上,其本质上以一系列进程的结合。

容器是轻量级的,虚拟机是重量级的。首先容器不需要额外的资源来管理(不需要Hypervisor、Guest OS);
虚拟机额外更多的性能消耗;其次创建、启动或关闭容器,如同创建、启动或者关闭进程那么轻松,而创建、启动、关闭一个操作系统就没那么方便了。

也因此,意味着在给定的硬件上能运行更多数量的容器,甚至可以直接把Docker运行在虚拟机上。

docker的几个核心的概念:

  • docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
  • docker客户端(Client):连接docker主机进行操作;
  • docker仓库(Registry):用来保存各种打包好的软件镜像;
  • docker镜像(Images):软件打包好的镜像;放在docker仓库中;
  • docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

理解一下镜像文件是什么意思


TIPS

很多时候要学会查看最原生的文档, 例如java中的jdk应该去Oracle中的官方文档中找,Hadoop应该去Apache的官网中找到他的官方文档

但是往往的情况就是官方文档晦涩难懂,而且还是全英文的,国内的教程网站和学习视频层出不穷,导致学习走向了一个误区

真正要做的一件事情就是,一定要学会查看最原生的文档,这是一种非常重要的学习方法

在原生的文档中,我们往往能查看到更多的有用信息,学到更多意想不到的东西,必要的时候可以借助网页的翻译工具有道网页翻译来看