docker_1、基础概念

容器目的:资源隔离。没有主机级别隔离彻底。jail.chroot.

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间

进程是运行在用户空间的。隔离用户空间。

chroot: change root 隔离的是看上去的空间。

用户空间隔离:namespaces

       UTS:主机名和域名。

        Mount:挂载点(文件系统。)

       IPC:进程间通信、共享内存。信号量、消息队列。

       PID:进程隔离。pid为1的是init

       User:用户、用户组。(内核3.8才开始支持。)

       Net:网络设备、网络栈、端口等。

            

  cpu资源:可压缩型资源。

  内存资源:不可压缩资源。OOM。

  LXC: LinuX Container.

  docker是LXC的增强版。

  docker一个容器只运行一个进程。LXC当作一个用户空间。

Control Groups(cgroups):控制组

  blikio:块设备IO

  cpu:cpu

  cpuacct:CPU资源使用报告

  cpuset:多处理器平台上的CPU集合

  devices:设备访问

  freezer:挂起或恢复任务。

  memory:内存用量及报告。

  per_event:对cgroup中的任务进行统一性能测试

  net_cls: cgroup中的任务创建的数据报文的类别标识符。

  组内可以有子组。

LinuX Container

  简化容器使用的工具。

  lxc-creat,template(模板)

容器中没有进程,容器停止。

 

编排工具

  mschine+swarm+compose 

  mesos+marathon

  kubernetes

容器引擎:LXC->runC

docker需要俩种技术:namespace、cgroup

  

原文地址:https://www.cnblogs.com/kongzhou/p/9596247.html