Docker 简介

走远了吗. 提交于 2020-02-10 15:07:00

一.什么是Docker,能干什么?

Docker是一个开源的应用容器引擎,(C/S)架构程序。   Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。

思想:

  1.集装箱

  2.标准化

  3.隔离

 

二.Docker容器 与虚拟机有什么区别?

首先明确一点,Docker容器不是虚拟机!

第一次接触Docker时,我把它比作一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快。Docker不停地给大家宣传,“虚拟机需要数分钟启动,而Docker容器是秒级启动”

 

理解虚拟机

使用虚拟机运行多个相互隔离的应用时,如下图:

 

 

从下到上理解上图:

1.基础设施(Infrastructure) .。它可以是你的个人电脑,数据中心的服务器,或者是云主机。

2.主操作系统(Host Operating System)。 你的个人电脑之上,运行的可能是MacOS, Windows或者某个Linux发行版。

3.虚拟机管理系统(Hypervisor) 。 利用Hypervisor,可以在著操作系统上运行多个不同的从操作系统。

4.从操作系统(Guest Operating System)。 假设你需要运行3个相互隔离的应用,则需要使用Hypervisor启动3个从操作系统,也就是3个虚拟机。

这些虚拟机都非常大,也许有700MB,这就意味着他们将占用2.1GB的磁盘空间。更糟糕的是,他们还会消耗很多CPU和内存

 

理解Docker容器

使用Docker容器运行多个相互隔离的应用时,如下图:

 

 

1.主操作系统(Host Operating System)。 所有主流的Linux发行版都可以运行Docker。对于MacOS和Windows,也有一些办法运行Docker.

2.Docker守护进程(Docker Daemon)。 Docker守护进程取代了Hypervisor,它是运行在操作系统之上的后台进程,负责管理Docker容器。

 

对比虚拟机与Docker

Docker守护进程可以直接与主操作系统进行通信,为各个Docker容器分配资源,它还可以将容器与主操作系统隔离,并将各个容器相互隔离

虚拟机启动需要数分钟,而Docker容器启动秒级。由于没有臃肿的从操作系统,Docker可以节省大量的磁盘空间以及其他系统资源。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!