[Docker][Docker简介]详细介绍


1.Docker与虚拟机

  • 虚拟机

    • 虚拟机是通过Hypervisor(虚拟机管理系统,常见的有VMWare WorkStation、VirtualBox),虚拟出网卡、CPU、内存等虚拟硬件,再在其上建立虚拟机
    • 每个虚拟机是个独立的操作系统,拥有自己的系统内核(GuestOS)
  • 容器

    • 利用namespace文件系统、进程、网络、设备等资源进行隔离
    • 利用cgroup权限、CPU资源进行限制
    • 最终让容器之间互不影响,容器无法影响宿主机
  • Docker和虚拟机区别

    传统虚拟机Docker容器
    磁盘占用GB量级MB量级
    CPU内存占用需要通过虚拟层调用占用率高占用资源极低,直接作用于硬件资源占用少
    隔离性系统级别进程级别
    封装成都打包整个OS打包项目代码和依赖信息
  • Docker优势

    • 运行在容器上的docker程序,直接使用的都是宿主机的硬件资源
      • 因此在CPU、内存、利用率上,Docker将会在效率上具有更大的优势(效率高)
    • Docker直接利用宿主机的系统内核,而不需要Guest OS
      • 避免了虚拟机启动时所需要的系统引导时间和操作系统运行的资源消耗,利用Docker能够在几秒钟之内启动大量的容器,是虚拟机无法办到的(速度快)
    • 容器的启动时间是秒级的,大量节约开发、测试、部署的时间
      • Docker能够高效地部署和扩容,Docker容器几乎可以在任意平台上运行(部署简单)
        • 虚拟机、物理机、公有云、私有云、个人电脑、服务器等
        • 这种兼容性,可以让用户把一个应用程序从一个平台直接迁移到另外一个平台
    • 但是,虚拟机的安全性比容器好一些
      • Docker与宿主机共享内核、文件系统等资源,更有可能对其他容器、宿主机造成影响

2.Docker架构

  • Docker使用C/S架构模式,使用远程API来管理和创建Docker容器
    请添加图片描述

  • Docker基本组成

    • 镜像(Image)
      • 镜像是Docker的基础构建块,它是一个只读的文件,包含了运行容器所需的所有内容:代码、运行时环境、系统工具、库等
      • Docker镜像可以被用来创建Docker容器,是创建Docker容器的模板
      • 镜像是由一层一层的文件系统构建而成的,每一层文件系统都是前一层文件系统的增量变化
      • 镜像是静态的,一旦创建就不会改变,如果需要修改一个镜像,需要创建一个新的镜像
    • 容器(Container)
      • 容器时Docker运行时的实体,是镜像的一个实例
      • 容器可以被启动、停止、删除、暂停等操作
      • 容器是一个隔离的运行环境,使用Linux内核的命名空间控制组等技术,使得容器之间互相隔离,拥有自己独立的文件系统、进程空间、网络空间等
      • 容器是轻量级的,可以在几秒内启动,因此非常适合用来快速部署和运行应用程序
    • 仓库(Repository)
      • 仓库是Docker镜像的集合存储地,可以理解为一个代码仓库
      • 仓库分为公有仓库和私有仓库
        • 公有仓库最知名的是Docker Hub
        • 私有仓库则可以搭建在自己的服务器上,比如Docker Trusted Registry
      • 每个镜像都有一个唯一的标识符,通常由仓库名、镜像名、标签组成
        • 如:repository:tag的形式
      • 仓库可以包含多个版本的镜像,通过不同的标签进行区分
    • Docker daemon:服务器组件,Docker最核心的后台进程
    • Docker Client:客户端通过命令行或者其他工具使用Docker API和Docker daemon通信
    • Docker Host:一个物理或者虚拟的机器用于执行Docker daemon和Container

3.Docker运行流程

请添加图片描述

请添加图片描述

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DieSnowK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值