• Docker实战-第一章欢迎来到Docker世界


    Docker基础

    什么是Docker

    docker是包括一个命令行程序、后台守护进程和一组远程服务,它简化了安装、运行、发布和删除软件的工作。docker实现的基础是UNIX的容器技术。所以在docker出世之前已经有容器的概念,而且像谷歌一类公司也在探索自己的容器,docker将容器技术提供了更为简便的容器实现。

    什么是容器

    容器是指隔离应用程序与外部资源的运行环境。最开始使用容器仍需要手动配置,非常容易出错。docker基于现有容器引擎,根据最佳实践提供了一致的docker构建方案。

    docker与容器的关系

    docker不提供容器技术,但使用docker可以更方便的得到一个容器,docker构建的容器也称为docker容器。

    容器与虚拟化的区别

    虚拟化是利用虚拟机提供虚拟硬件,然后安装操作系统和发布软件,两个虚拟机之间的操作系统互相隔离。docker不需要虚拟硬件和安装操作系统,所以拉起特别快。docker容器里的应用程序还是直接运行在主机上,docker只是利用Linux的NameSpace和Cgroups技术做了隔离与限制的“障眼法”。
    在这里插入图片描述
    Hypervisor:硬件虚拟化层
    Docker Engine:docker引擎

    容器的隔离

    容器的隔离包括8个方面

    • PID命名空间——进程标识符和能力
    • UTS命名空间——主机名与域名
    • MNT命名空间——文件系统访问和结构
    • IPC命名空间——通过共享内存的进程间通信
    • NET命名空间——网络访问和结构
    • USR命名空间——用户名和标识
    • chroot()——控制文件系统根目录位置
    • cgroups——资源保护,限制进程组使用的cpu内存上限

    docker容器镜像分发

    容器的隔离与限制是由linux的Namespace、cgroups和chroot实现的,那docker解决了什么问题呢?实际上docker解决的容器的打包、分发、运行,这些也是最困扰开发者的事情。正因如此,docker对开发者友好,让他受到了更多地青睐。

  • 相关阅读:
    edusoho对接腾讯会议直播功能 直播结束自动转存阿里云视频点播
    GitHub 上线重量级分布式架构原理设计笔记,开源的东西看着就是爽
    freeswitch-01
    【设计模式】中介者模式
    Kafka使用教程和案例详解
    .NET MAUI RC2 发布,支持 Tizen 平台
    【python】变量作用域&LEGB规则&global/nonlocal关键字
    【面试经典150 | 区间】汇总区间
    Linux中断概述
    2022科大讯飞AI开发者大赛,来了!
  • 原文地址:https://blog.csdn.net/Numb_ZL/article/details/132844704