第一节 Docker概览

01 整体课程内容介绍
02 Docker 概览阶段课程简介
03 了解Docker

什么是Docker

Docker是开发 运行和部署应用程序的开放管理平台
开发人员能利用Docker开发和运行应用程序
运维人员能利用 Docker 部署和管理应用程序
在这里插入图片描述

04 Docker整体结构对比

Docker引擎介绍(Docker Engine)

docker 引擎是一个包含以下组件的客户端-服务端应用程序
服务端:一个长时间运行的守护进程 (Docker Daemon)
REST API:一套用于与Docker Daemon 通信并指示其进行操作的接口
客户端:命令行接口CLI(Command Line Interface)
CLI利用Docker命令通过REST API 直接操控Docker Daemon执行操作
Docker Daemon负责创建并管理Docker的对象(镜像、容器、网络、数据卷)
在这里插入图片描述
Docker结构概览图
05 Docker底层技术了解

Docker使用Go语言实现。

Docker利用linux内核的几个特性来实现功能:

  • 利用linux的命名空间(Namespaces)
  • 利用linux控制组(Control Groups)
  • 利用linux的联合文件系统(Union File Systems)
    这也就意味着Docker只能在linux上运行。
    在windows、MacOS上运行Docker,其实本质上是借助了虚拟化技术,然后在linux虚拟机上运行的Docker程序。

容器格式( Container Format ):

  • Docker Engine将namespace、cgroups、UnionFS进行组合后的一个package,就是一个容器格式(Container Format)。Docker通过对这个package中的namespace、cgroups、UnionFS进行管理控制实现容器的创建和生命周期管理。
  • 容器格式(Container Format)有多种,其中Docker目前使用的容器格式被称为libcontainer

Namespaces(命名空间):为Docker容器提供操作系统层面的隔离

  • 进程号隔离:每一个容器内运行的第一个进程,进程号总是从1开始起算
  • 网络隔离:容器的网络与宿主机或其他容器的网络是隔离的、分开的,也就是相当于两个网络
  • 进程间通隔离:容器中的进程与宿主机或其他容器中的进程是互相不可见的,通信需要借助网络
  • 文件系统挂载隔离: 容器拥有自己单独的工作目录
  • 内核以及系统版本号隔离:容器查看内核版本号或者系统版本号时,查看的是容器的,而非宿主机的

Control Groups(控制组-cgroups):为Docker容器提供硬件层面的隔离

  • 控制组能控制应用程序所使用的硬件资源。
  • 基于该性质,控制组帮助docker引擎将硬件资源共享给容器使用,并且加以约束和限制。如控制容器所使用的内存大小。

Union File Systems(联合文件系统–UnionFS):利用分层(layer)思想管理镜像和容器

06 Docker概览阶段课程总结

重点掌握Docker以下组件或对象直接的关系
  • Docker Client CLI
  • Docker Daemon(Docker server)
  • Docker Objects
  • Registry
了解以下列出的Docker使用的底层技术
  • Namespaces
  • Control Groups
  • Union File Systems
  • Container Format

今天来了姨妈 请了半天假回家 真是超级难受了 …
最近一直在做数据接口的工作,大佬布置的开发任务明年也是最数据SDK,但是Docker和gRPC还是要学,不然没有人做CR不知道怎么能进步呀 …
这是一个Docker的课程笔记系列…

qq:2564493603
欢迎交流

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值