Containerlinux
容器是一種基礎工具,泛指任何能夠容納其它物品的工具。docker
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資源使用報告spa
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