(一)Docker简介
一、Docker简介
1、Docker诞生
Docker是dotcloud公司开源的一款产品dotcloud是2010年成立的一家公司,主要基于PAAS平台为开发者提供服务。2013年10月dotcloud公司改名为Docker股份有限公司。
2、Docker相关解释
- Linux Container是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程资源
- Docker是PAAS提供商dotcloud公司开源的基于LXC的高级容器引擎,源代码托管在Github上,基于go开发并遵从Apache2.0协议
- Docker设想是交付运行环境如同海运,OS如同一个货轮,每一个OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容由用户自定义,也可以由专业人员制造。
3、Docker与虚拟化对比
4、Docker构成
- Docker仓库:https://hub.docker.com
- Docker自身组成
【1】DockerHost:安装Docker服务的主机
【2】DockerClient:Docker客户端
【3】DockerServer:Docker daemon的主要组成部分,接受用户通过Docker Client发出的请求,并按照相应的路由规则实现路由转发。
【4】Docker镜像:镜像、映像、程序包;Image是只读模板,其中包含创建Docker容器的说明。容器是由Image运行而来,Image固定不变。
【5】Containers:容器;在Docker服务器中的容器(一个容器一般是一个应用实例,容器间互相隔离)
【6】仓库;存储Docker Image的地方。官方远程仓库地址: https://hub.docker.com/search
5、Docker隔离原理
- namespace 6项隔离(资源隔离)
- cgroup资源限制(资源限制)
cgroup提供的主要功能如下:
- 资源限制:限制任务使用的资源总额,并在超过这个 配额 时发出提示
- 优先级分配:分配CPU时间片数量及磁盘IO带宽大小、控制任务运行的优先级
- 资源统计:统计系统资源使用量,如CPU使用时长、内存用量等
- 任务控制:对任务执行挂起、恢复等操作