不为有趣之事,何遣有涯之生
不失其所者久,死而不亡者寿

Docker简明教程(2) Docker概念理解

Docker概念理解

容器概念理解

容器是一种虚拟化的方案

特点

  • 它是操作系统级别的虚拟化
  • 只能运行相同或相似内核的系统中
  • 依赖linux内核NameSpace和Cgroups(Control Group)特性

相对于虚拟机的优点

  • 虚拟机是利用软件模拟硬件,需要安装操作系统,依赖库,应用;而容器把其中的大头操作系统给去掉了,所以非常轻量化,占用系统资源(硬盘,内存,CPU)会少很多
  • 安装方便,启动速度快

什么是Docker?

  • 将应用程序自动部署到容器的轻量级引擎技术

特点

  • Go语言编写,遵从Apache2.0开源协议
  • 目标是消除各环境差异,实现快速开发测试部署软件生命周期
  • 提倡面向服务的编程,每个容器最好只部署一个微服务

适用场景

  • 适用Docker容器进行开发、测试、部署
  • 创建隔离的环境,很适合个性化的SaaS服务
  • 搭建测试环境

四个核心概念理解

  • Image
    在Docker 中非常非常重要的概念,它是Docker 的核心,Docker 所创建运行的
    Container 完全基于Image 运行,并且它是只读的,我们在下一个册子会去解释,现在您
    只需要记住Image 在Docker 中非常的重要。

  • Repository
    存放Image 的地方,其中Docker Hub 下面就有非常多非常多的Repository,每个
    Repository 有很多很多的Image。

  • Registry
    Registry 其实很容易和Repository 混淆,Docker Hub 在我的理解是一个Registry,
    也就是说Registry 不直接存放Image,Image 是由Registry 下面的若干个Repository 去
    存放的,可能后文中我们会去搭建一个private Registry 存放image,你可以理解我们的
    Registry 下有一个默认的Repository 去存放。

  • Container
    Container 是一个可读写的空间,是由若干个Image 组成的,我们的应用以后都会运
    行在Container 中,同样在后文中我们会为大家介绍如何创建容器,如何启动运行容器。

三层概念

  • Docker Layer 是一个宏观的layer, 包括了若干个read-only 的Images 和一个writable 和readable 的Container layer.
  • Image Layer 是最下面的层(我指的不是Kernel)那些read-only 的Images.
  • Container Layer 是一个可读可写的Layer,我们不仅可以用yum/apt-get 安装软件,而且可以部署我们的服务,产生或者修改一些新的文件.

DockerC/S架构

未经允许不得转载:菡萏如佳人 » Docker简明教程(2)

欢迎加入极客江湖

进入江湖关于作者