Docker学习路线(1)——初识Docker

Docker介绍

  1. 提供一个简单、轻量的建模方式:性能高、启动快
  2. 职责的逻辑分离
  3. 快速、高效的开发生命周期
  4. 鼓励使用面向服务的架构

Docker组件

  • Docker客户端和服务器
  • Docker镜像
    Docker镜像(image)是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置文件等,还包含一些为运行时准备的配置参数(匿名卷、环境变量、用户等)。镜像不包括动态数据,它的内容在构建之后也不会被改变
  • Registry
    一个Registry可以有多个仓库;每个仓库可以有多个标签;每个标签对应一个镜像(标签理解为版本)
  • 容器
    容器和镜像的关系和对象和类的关系一样。容器可以被创建、启动、停止、删除、暂停。
    容器实质是进程,是属于自己独立的命名空间,所以容器可以拥有一套文件系统、网络配置、进程空间等。
    容器内的进程是运行在一个隔离的环境里。

    ————————————————————————————————————
    多说一句:
    • 文件系统隔离:每个容器都有自己的文件系统
    • 进程隔离:每个容器都运行在自己的进程环境中
    • 写时复制:文件系统是通过写时复制来创建的,意味着系统是分层的,快速的,占用的磁盘空间更小

Docker与传统虚拟化的不同之处

    容器和虚拟机具有相似的资源隔离和分配优势,但功能有所不同,因为容器虚拟化的是操作系统,而不是硬件,因此容器更容易移植,效率也更高。
    传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

传统虚拟化:
    虚拟机更擅长于彻底隔离整个运行环境。例如,云服务提供商通常采用虚拟机技术隔离不同的用户。而Docker通常用于隔离不同的应用 ,例如前端,后端以及数据库。

Docker学习路线(1)——初识Docker_第1张图片

Docker技术:
Docker学习路线(1)——初识Docker_第2张图片

为什么要使用Docker

  1. 更高效的利用系统资源
    容器不需要进行硬件虚拟以及完整操作系统等额外开销
  2. 更快速的启动时间
    直接运行于宿主内核,无需启动完整的操作系统
  3. 一致的运行环境
    提供了除内核外完整的运行时环境,确保了应用运行环境一致性
  4. 持续交付和部署
    开发人员可以通过Dockerfile来进行镜像构建,并结合持续集成系统进行集成测试,而运维人员可以在生产环境中快速部署该镜像,结合持续部署系统进行自动部署
  5. 更轻松的迁移
    Docker确保执行环境的一致性,使得应用的迁移更加容易
  6. 更轻松的维护和扩展
    Docker使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易

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