docker --(视频笔记1)

1、在linux kernel layer 上可以构造N个userSpace;

2、程序运行的时候只是关注userspace

3、依靠多进程的方式实现分布式,每个进程作为一台机器,对于应用程序来说是完全透明的。

4、

  传动虚拟化 容器虚拟化
创建速度 很慢   非常快
性能影响 模拟硬件 共享kernel,几乎没有你能损耗
资源消耗 很大 很小,一台机器可以轻松的创建多个container
操作系统覆盖 支持linxu windows等 仅仅支持kernel所支持的OS

5、windows创建docker,可以用boot2Docker工具

6、docker的容器技术是对内核中的cgourps、namespace等内容的使用

7、不同的docker容器之间如何通信,不同的容器都有自己的独立的内存和网络资源;内核资源的限制cgroups 资源控制机制。

namespace :帮我们完成了容器隔离

cgoups:帮我们做资源隔离,限制容器的资源使用

chroot:文件系统的隔离

linux内核提供的限制,记录和隔离进程组所使用的资源,由Google的工程师提出,后拉被整合到kernel

通过不同的子系统(blkio,cpu,cpuacct等)来实现对不同资源使用的控制和记录。

docker对cpu还有不足

8、pid,容器有自己独立的进程表和1号进程。fork机制

net,容器有自己的独立的network info(一般都是桥连)

ipc,在ipc通信的时候,需要加入额外的信息来表示进程

mnt,每个容器都有自己唯一的目录挂载

utc,每个容器都有独立的hostname和domain

9、docker的文件系统

advanced multi layer unification filesystem

可以实现把多个不同目录的内容合并在一起

允许read-only和read-write目录并存

10、docker使用aufs来实现分层的文件系统管理

只读部分定义为image(镜像),可写部分是container

image类似一个单链表系统,每个image包含一个指向parent image的指针

没有parent image 的image 是base image

11、一个container只做一件事情。

12、libcontainer、libchan、libswarm

libcontainer:一个封装器,docker依赖这个库,里面包含一些底层的东西,包括资源控制之类的,目标是为将来的跨平台。

13、dockerfile 帮你构建镜像。build之后别人就可以使用了

14、kubernetes 

操作对象

功能组件

功能特性

15、consul 类似服务发现

多台机器构建docker,通过服务发现构建服务集群

提供了api,

可以进行服务分类,

提供很好的rest接口,

还有服务监控

16、fig可以做单机上的docker集群

 

你可能感兴趣的:(docker --(视频笔记1))