当前位置 : 主页 > 编程语言 > 其它开发 >

Docker-----概述(1)

来源:互联网 收集:自由互联 发布时间:2022-06-09
从今天开始,来进行Docker技术的分享,有些是笔者理解的,通俗易懂些。 背景: 任何技术的产生,本质上都是钱。而Docker的产生,主要是在硬件层面省钱,可以使硬件资源的利用最大

  从今天开始,来进行Docker技术的分享,有些是笔者理解的,通俗易懂些。

  背景:任何技术的产生,本质上都是钱。而Docker的产生,主要是在硬件层面省钱,可以使硬件资源的利用最大化。比如,现在我想在电脑上(windows系统)安装两个mysql,做读写分离用。传统的做法,需要两台电脑安装才行(因为一台电脑上没法装,装第二个的时候,会提示你是修复或者删除第一个,除非你用的解压配置版本,但是也很复杂)。或者你需要在电脑上先安装类似于VMware的虚拟机软件,然后启动两个windows系统,在里面进行安装。大家用过的都知道,你在两个VMware里面,安装win系统,再安装mysql,你本身电脑的配置,可能最少需要的是I5+16G内存的配置吧。如果你用Docker这种容器化技术的话,可能只需要先安装Docker,然后启动两个mysql容器,开放不同的端口即可,速度非常快,而且你只需要一台电脑,或许8G内存就足够了,非常的省硬件资源。所以本质上来讲,就是硬件发展到一定程度,容器虚拟化使资源利用最大化,Docker应运而生。

 

 

   什么是Docker?

  •   一个开源的应用容器引擎,基于Go语言,基于Linux容器。
  •   采用沙箱机制,相互之间不会有任何接口(类似于iphone里的各个app)。
  •   Docker目标,一次封装,运行。

 

  既然之前都有虚拟化技术,比如Vmware,也一定程度上节省了硬件资源,那Docker为什么还能占有一席之地,而且现在那么的火?下面来简单分析下:  

  虚拟化 VS Docker

 

 

   虚拟化:所有VM拥有自己的操作系统,通过虚拟层操作硬件,占用许多应用本身不需要的资源,一个虚拟机可能至少也要几百兆内存,启动也会很慢。 

  Docker:所有容器共享宿主机的操作系统内核,容器本质上只是一个进程,占用资源少,启动快,占用体积也小,这样可以在一台宿主机上运行更多的容器。

  

 

 

   

  Docker三大核心概念:

  镜像(image):类似于虚拟机镜像,只读模板。(你可以理解成就是一个软件安装包,可以无限次被使用,进行软件的安装)

  容器(Container):轻量级沙箱,运行的实例,相当于简易的linux环境,镜像上创建的可写层。(可以认为是上面安装包按完之后的软件,软件也有各种状态,比如软件未启动,软件你正在使用,软件关闭了等)

  仓库(Repository):Docker集中存放镜像文件的场所,分Public和Private,类似于GitHub,可以Push和Pull。(可以理解成下载软件安装包的地方,比如某个软件的官网,或者公司共享软件库,这种感觉)

 

  Docker架构:

   现在讲Docker架构可能有点早,先简单提一下,当我们Docker都学完之后,再回头来深入谈谈Docker的架构,就可以理解了。

 

 

 

 

  • Docker Daemon(dockerd)
  • Rest API
  • Docker CLI(docker)
  • Docker Rigistry

 

 

  Daemon负责创建和管理docker对象,包括image,container,network,volume。

  声明API,docker CLI可以使用,别的应用也可以使用。

  Docker Rigistry存储镜像,比如docker hub,类似github存储代码。

 

 关于Docker的基本概念就介绍到这,下面我们来进入到Docker的具体使用。

 

上一篇:WebGL 及其在 WebRTC 中的应用
下一篇:没有了
网友评论