docker第一篇 容器技术入门

Container

  容器是一种基础工具,泛指任何可以容纳其它物品的工具。

Linux Namespaces (docker容器技术主要是通过6个隔离技术来实现)

namespace    系统调用参数    隔离内容   内核版本  
UTS   CLONE_NEWUTS 主机名和域名 2.6.19
IPC CLONE_NEWIPC 信息量、消息队列和共享内存 2.6.19
PID CLONE_NEWPID 进程编号 2.6.24
Network CLONE_NEWNET

网络设备、网络栈、端口等

2.6.29
Mount CLONE_NEWNS 挂载点(文件系统) 2.4.19
User COLNE_NEWUSER 用户和用户组 3.8

Control Groups, CGroups控制组 (一般用来限制资源使用)把系统级的资源分成多个组,然后把每个组内的资源量指派或者分配到不同的用户空间进程上。

  blkio:块设备IO

  cpu: CPU

  cpuacct: CPU资源使用报告

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

  devices:设备访问

  freezer:挂起或恢复任务

  memory:内存用量报告

  perf_event: 对从group中的任务进行统一性能测试

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

LXC (LinuX Container) 最早实现容器技术的一个工具(容器属于linux内核中的一个技术)

  当使用lxc-create 创建容器的时候,它不会激活模板去让你安装,而是连接到服务器下载匹配你穿件模板的一个镜像,从而把镜像拖到本地,并基于镜像来启动容器。把一个容器当一个用户控件使用。

docker是LXC的增强版 其实也是一个管理工具,只是docker是基于镜像来实现的,而LXC是基于模板来实现的。

编排工具

compose:单机编排

machine+ swarm +compose  集群编排

mesos+marathhon 

kubernetes

We are down, but not beaten. tested but not defeated.
原文地址:https://www.cnblogs.com/guniang/p/11592146.html