【基础理论】Docker从基础到高级实战&Docker基础理论(一)

1 Docker介绍

1.1Docker产生背景

Docker是云时代的产物,它的诞生是一种必然。
如果想了解Docker,那么必须对云服务的一些运营模式有所了解。
云服务的运营模式:
 IaaS(基础设施即服务):经营的是基础设施,比如阿里云服务器(只安装操作系统)
 PaaS(平台即服务):经营的是平台,比如MySQL开发平台(安装在linux里面现成的平台)、redis开发平台。
 SaaS(软件即服务):经营的是软件,比如公司的OA系统(部署到远程服务器中的OA软件)
Docker就是伴随着PaaS产生的。
【基础理论】Docker从基础到高级实战&Docker基础理论(一)_第1张图片
##1.2 Docker是什么
Docker就是一种虚拟化容器技术
通过Docker这种虚拟化容器技术,我们可以对物理机资源进行更加合理有效的利用,可以将一台物理机器虚拟化出很多个拥有完整操作系统,并且相互独立的“虚拟计算机”。
在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件。
【基础理论】Docker从基础到高级实战&Docker基础理论(一)_第2张图片
虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化、桌面虚拟化、服务虚拟化、虚拟机等等。
最常用的虚拟化技术有:全虚拟化和操作系统(OS)虚拟化。
比如,VMware workstation 就是全虚拟化的实现。
比如,Docker,就是基于操作系统虚拟化技术的一种实现。
【基础理论】Docker从基础到高级实战&Docker基础理论(一)_第3张图片
基于操作系统创建出一些相互独立的、功能虚拟化技术有多种实现方式,有基于硬件进行虚拟化的技术,而Docker只是针对操作系统进行虚拟化,对于硬件资源的使用率更低。
相对于VMware这种虚拟化技术,Docker拥有着显著的优势:
【基础理论】Docker从基础到高级实战&Docker基础理论(一)_第4张图片

  1. 启动速度快,Docker容器启动操作系统在秒级就可以完成,而VMware却是
    达到分钟级。
  2. 系统资源消耗低,一台Linux服务器可以运行成千上百个Docker容器,而VMware大概只能同时运行10个左右。
  3. 更轻松的迁移和扩展,由于Docker容器比VMware占用更少的硬盘空间,在需要搭建几套软件环境的情况下,对安装好的Docker容器进行迁移会更快捷,更方便。而且Docker容器几乎可以在任意的平台上运行,包括虚拟机、物理机、公有云,私有云,个人电脑等,这种兼容性,可以让用户将一个应用程序从一个平台直接迁移到另一个平台。
    所以总结的来讲就是docker体积小,运行快,问题少。

1.3Docker核心概念

docker包含四个基本概念:
 镜像(Image)
 容器(Container)
 仓库注册中心(Registry)
 仓库(Repository)
理解了这四个概念,就理解了docker的整个生命周期了!
【基础理论】Docker从基础到高级实战&Docker基础理论(一)_第5张图片

1.3.1镜像

Docker镜像(Image)就是一个只读的模板。
Docker镜像可以用来创建Docker容器。
Docker镜像和Docker容器的关系,类似于java中class类与对象之间的关系。
Docker提供了一个很简单的机制来创建镜像或者更新已有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

1.3.2容器

Docker利用容器(Container)来运行应用。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看成是一个简易版的Linux环境(包括ROOT用户权限、进程空间、用户空间、网络等)和运行在其中的应用程序。

1.3.3Registry&Repository

Registry是集中存放镜像文件的场所。
Repository是对于其中的镜像进行分类管理。
一个Registry中会有多个Repository。
一个Repository中会有多个不同tag的Image。
比如名称为centos的Repository仓库下,有tag为6或者7的Image镜像。
Registry分为公有(public)和私有(private)两种形式。
 最大的公有Registry是Docker Hub,存放了数量庞大的镜像供用户下载使用。
 国内的公开Registry包括USTC、网易云、DaoCloud、AliCloud等,可以供大陆用户更稳当快捷的访问。
 用户可以在本地创建一个私有Registry。
用户创建了自己的镜像之后就可以使用push命令将它上传的公有Registry或者私有Registry中,这样下次在另一台机器上使用这个镜像的时候,只需要从Registry上pull下来运行就可以了

你可能感兴趣的:(docker,linux,docker,运维)