Docker之docker核心思想

上一篇文章我们介绍了关于什么是docker,docker有什么优点,以及docker用在哪些方面,如果还没有看,可以点击这里《docker之docker简介》,这一篇主要介绍关于什么的docker的核心思想


docker的核心思想主要体现在哪些方面呢?


1) 集装箱

2) 标准化

a. 运输方式

b. 存储方式

c. API接口

3) 隔离

Docker之docker核心思想

那我们就来说说具体是什么样子把。

Docker镜像

鲸鱼背上驮着的集装箱就是镜像,镜像本质就是文件,可以是我们运行环境的文件,也可以是运用程序的文件,docker把它保存到本地。存储格式是以Linux的联合文件存储。

Docker镜像(Image)类似与虚拟机的镜像,可以将他理解为一个面向Docker引擎的只读模板,包含了文件系统。

    例如:一个镜像可以完全包含了Ubuntu操作系统环境,可以把它称作一个Ubuntu镜像。镜像也可以安装了Apache应用程序(或其他软件),可以把它称为一个Apache镜像。

    镜像是创建Docker容器的基础,通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像。

    用户可以从网上下载一个已经做好的应用镜像,并通过命令直接使用。

    总之,应用运行是需要环境的,而镜像就是来提供这种环境。

Docker之docker核心思想

最底层【bootfs】是一个操作系统的引导,然后【Base Image】是一个具体的Linux的操作系统,在上面【Image】是一些相关的文件,可以是tomcatJDK 等等,Docker每一层的文件都是只读的,每一层加载完成都被看成是同一个目录

Docker容器

 Docker容器(Container)类似于一个轻量级的沙箱子(因为Docker是基于Linux内核的虚拟技术,所以消耗资源十分少),Docker利用容器来运行和隔离应用。

容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。可以吧每个容器看作一个简易版的Linux系统环境(包括了root用户权限、进程空间、用户空间和网络空间),以及与运行在其中的应用程序打包而成的应用盒子。

镜像自身是只读的。容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。就像用ISO装系统之后,ISO并没有什么变化一样。

Docker之docker核心思想

容器是可读可写的,如果要写一个文件,则把对应的文件拷贝到最上层【Container】进行修改,如果一个程序要读,则从顶层开始查找,因为改成那个文件已经拷贝到最上层了,如果找不到再往下面查找。由于镜像是不能修改的,但是容器是可以修改的,所有可以保障一个镜像可以在多个容器中运行,他们之间没有任何干扰,独立运行。

Docker仓库

Docker之docker核心思想

Docker仓库(Repository)类似与代码仓库,是Docker集中存放镜像文件的场所。

根据存储的镜像公开分享与否,Docker仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

Docker提供的仓库:hub.docker.com,可以看到docker仓库中提供的哪些镜像

Docker之docker核心思想

国内的有:灵雀云  https://hub.alauda.cn/

 时速云 https://hub.tenxcloud.com/

阿里云 https://dev.aliyun.com/search.html 

网易镜像中心:https://c.163yun.com/hub#/m/home/  网易镜像是需要用户先登录到管理平台,然后在镜像中心查看,推荐使用网易镜像,目前使用来看网易的镜像速度最快
Docker之docker核心思想
Docker之docker核心思想