美文网首页
Docker基础学习笔记1——基本概念

Docker基础学习笔记1——基本概念

作者: Glitter试做一号机 | 来源:发表于2019-06-13 16:26 被阅读0次

    什么是Docker

    我的理解就是一个更轻量级的虚拟机,跟虚拟机的不同在于Docker是直接构建在HostOS上,利用HostOS的内核运行自己的进程,而虚拟机则是要先虚拟出一套硬件,然后再在这套虚拟出来的硬件上构建自己的OS(所以在用VMWare装虚拟机的时候我们可以自己去设置CPU、内存、硬盘大小),所以比起虚拟机,Docker更加轻便。


    虚拟机
    Docker

    为什么用docker

    • 资源利用率高
      因为docker的轻便性,所以省掉了比如虚拟硬件、构建完整操作系统等开销,一台机器可以跑很多个docker
    • 启动快
    • 一致的运行环境
      可以通过docker构建开发环境,保证代码运行环境的一致
    • 轻松的迁移、维护和扩展

    一个关于docker和虚拟机的总结

    特性 容器 虚拟机
    启动 秒级 分钟级
    硬盘使用 MB GB
    性能 接近原生 弱于
    系统支持量 上千 几十个

    Docker基本概念——镜像

    Docker镜像相当于Linux的root文件系统,这个root文件系统大概理解成一个初始化的地方,系统初启的时候会从root文件系统读取各种配置服务之类的。
    Docker镜像不包含任何动态数据,内容在构建之后也不会变化
    (就跟我们下载的操作系统iso类似?总之就是read-only的)
    Docker的镜像是基于分层文件系统的,也就是一层一层构建好的,每一层构建好之后就不会变化,就算后面对其修改那也算是下一层的记录(跟iso还是不一样的,镜像是一个虚拟概念,不是由文件构成,而是由一组文件系统构成)

    Docker基本概念——容器

    容器是镜像的实例化,就跟类和对象的关系一样。容器是镜像运行的实体,可以运行,暂停和删除等。容器基于进程,有自己的rootfs,运行在一个隔离的空间,所以很多资源都是独立的。
    容器和镜像一样也是分层存储,容器以镜像为基础构建,这个镜像称为基础层,往上是一个容器存储层,用来存储容器运行时的数据,这一层生命周期和容器一致,容器关闭的时候就没了。
    一般来说不要往容器存储层写数据,因为不能持久化。(一般选择数据卷(volume)或者绑定宿主目录)

    Docker仓库

    我的理解是Docker Registry类似Github这样的东西?一个Registry包含多个仓库(Repository),每个仓库又有多个标签(tag),每个tag就是一个镜像,所以访问一个镜像的格式就是:<repository>:<tag>,不给出标签则默认为latest。

    相关文章

      网友评论

          本文标题:Docker基础学习笔记1——基本概念

          本文链接:https://www.haomeiwen.com/subject/ktbrfctx.html