Docker技术资料版本PPT课件
- 格式:pptx
- 大小:4.35 MB
- 文档页数:12
Docker第1章 Docker容器介绍 -- --来⾃亚哥1.Docker是什么Docker是Docker.Inc 公司开源的⼀个基于LXC技术之上构建的Container容器引擎,源代码托管在 GitHub 上,基于Go语⾔并遵从Apache2.0协议开源。
Docker是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。
由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运⾏时,不需要类似虚拟机(VM)额外的操作系统开销,提⾼资源利⽤率。
2.容器与虚拟机对⽐传统虚拟化和Docker分层对⽐:VM虚拟化和Docker特性对⽐space和cgroupnamespace资源隔离kernel提供了namespace的机制⽤来隔离相关资源。
namespace设计之初就是为了实现轻量级的系统资源隔离。
可以让容器中的进程仿佛置⾝于⼀个独⽴的系统环境中。
namespace系统调⽤参数隔离内容UTC CLONE_NEWUTS主机名和域名IPC CLONE_NEWIPC信号量、消息队列和共享内存PID CLONE_NEWPID进程编号Network CLONE_NEWNET⽹络设备、⽹络栈、端⼝等Mount CLONE_NEWNS⽂件系统User CLONE_NEWUSER⽤户和⽤户组cgroups资源限制cgroup的作⽤主要是⽤来控制资源的使⽤,⽐如限制CPU内存和磁盘的使⽤等cgroups的四⼤作⽤:资源限制:⽐如设定任务内存使⽤的上限。
优先级分配:⽐如给任务分配CPU的时间⽚数量和磁盘IO的带宽⼤⼩来控制任务运⾏的优先级。
资源统计:⽐如统计CPU的使⽤时长、内存⽤量等。
这个功能⾮常适⽤于计费。
任务控制:cgroups可以对任务执⾏挂起、恢复等操作。
4.docker的三个重要概念Image(镜像):那么镜像到底是什么呢?Docker 镜像可以看作是⼀个特殊的⽂件系统,除了提供容器运⾏时所需的程序、库、资源、配置等⽂件外,还包含了⼀些为运⾏时准备的⼀些配置参数(如匿名卷、环境变量、⽤户等)。
15、docker15.0、服务器使⽤说明:服务器名称ip地址controller-node1172.16.1.9015.1、docker介绍:1、Docker 是⼀个开源的应⽤容器引擎,基于 Go 语⾔并遵从Apache2.0协议开源。
2、Docker 可以让开发者打包他们的应⽤以及依赖包到⼀个轻量级、可移植的容器中,然后发布到任何流⾏的 Linux 机器上,也可以实现虚拟化。
容器是完全使⽤沙箱机制,相互之间不会有任何接⼝(类似 iPhone 的 app),更重要的是容器性能开销极低。
3、Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版)和 EE(Enterprise Edition: 企业版),我们⽤社区版就可以了。
(1)CE版⾮常适合希望开始使⽤Docker并尝试使⽤基于容器的应⽤程序的个⼈开发⼈员和⼩型团队;(2)EE版专为企业开发和IT团队⽽设计,他们在⽣产中⼤规模构建,发布和运⾏业务关键型应⽤程序;5、使⽤docker容器能保持运⾏环境的⼀致性,多版本测试;技术持续更新,技术储备,符合业务需求,产品的快速迭代,快速占领⽤户;15.2、docker架构:1、架构图:(1)(2)2、架构说明:(1)Docker 使⽤客户端-服务器 (C/S) 架构模式,使⽤远程API来管理和创建Docker容器;(2)Docker 容器通过 Docker 镜像来创建;(3)容器与镜像的关系类似于⾯向对象编程中的对象与类;(4)Docker 镜像(Images):Docker 镜像是⽤于创建 Docker 容器的模板;(5)Docker 容器(Container):容器是独⽴运⾏的⼀个或⼀组应⽤;Docker 的守护进程通信;(7)Docker 主机(Host):⼀个物理或者虚拟的机器⽤于执⾏ Docker 守护进程和容器;(9)Docker Machine:Docker Machine是⼀个简化Docker安装的命令⾏⼯具,通过⼀个简单的命令⾏即可在相应的平台上安装Docker,⽐如VirtualBox、 Digital Ocean、Microsoft Azure。