Docker关键知识点儿汇总

容器

容器=cgroup+namespace+rootfs+容器引擎(用户态工具)docker

  • Cgroup:资源控制。
  • Namespace:访问隔离。
  • rootfs:文件系统隔离。
  • 容器引擎:生命周期控制。

容器两个核心技术

NameSpace
Namespace又称为命名空间(也可翻译为名字空间),它是将内核的全局资源作封装,使得每一个Namespace都有一份独立的资源,所以不一样的进程在各自的Namespace内对同一种资源的使用不会互相干扰。安全

  • IPC:隔离System V IPC和POSIX消息队列。
  • Network:隔离网络资源。
  • Mount:隔离文件系统挂载点。
  • PID:隔离进程ID。
  • UTS:隔离主机名和域名。
  • User:隔离用户ID和组ID。

Cgroup
Cgroup是control group的简写,属于Linux内核提供的一个特性,用于限制和隔离一组进程对系统资源的使用,也就是作资源QoS,这些资源主要包括CPU、内存、block I/O和网络带宽。网络

  • devices:设备权限控制。
  • cpuset:分配指定的CPU和内存节点。
  • cpu:控制CPU占用率。
  • cpuacct:统计CPU使用状况。
  • memory:限制内存的使用上限。
  • freezer:冻结(暂停)Cgroup中的进程。
  • net_cls:配合tc(traffic controller)限制网络带宽。
  • net_prio:设置进程的网络流量优先级。
  • huge_tlb:限制HugeTLB的使用。
  • perf_event:容许Perf工具基于Cgroup分组作性能监测。

Docker五种网络模式

None
不为容器配置任何网络功能。ide

Container
与另外一个运行中的容器共享NetworkNamespace,共享相同的网络视图。工具

Host
与主机共享Root Network Namespace,容器有完整的权限能够操纵主机的协议栈、路由表和防火墙等,因此被认为是不安全的。性能

Bridge
Docker设计的NAT网络模型。
Docker网络的初始化动做包括:建立docker0网桥、为docker0网桥新建子网及路由、建立相应的iptables规则等。
Docker关键知识点儿汇总
在桥接模式下,Docker容器与Internet的通讯,以及不一样容器之间的通讯,都是经过iptables规则控制的。
Overlay
Docker原生的跨主机多子网模型。
overlay网络模型比较复杂,底层须要相似consul或etcd的KV存储系统进行消息同步,核心是经过Linux网桥与vxlan隧道实现跨主机划分子网。
Docker关键知识点儿汇总spa

相关文章
相关标签/搜索