zoukankan      html  css  js  c++  java
  • docker namespace

    目前docker完成6项隔离

    namespace 系统调用参数 隔离内容
    UTS CLONE_NEWUTS 主机名与域名
    IPC CLONE_NEWIPC 信号量,消息队列,共享内存
    PID CLONE_NEWPID 进程编号
    Network CLONE_NEWNET 网络设备,网络栈,端口等
    Mount CLONE_NEWNS 挂载点(文件系统)
    User CLONE_NEWUSER 用户和用户组
         

    Linux 内核3.8及以后的版本

    namespace 的API包括

       clone()

       setns()

       unshare()

    Mount namespace:
    隔离文件系统挂载点,每个进程能看到的文件系统都记录在/proc/$$/mounts里,
    UTS namespace:
    使每个docker拥有独立的主机名和域名,在网络上可以被视为一个独立的节点,而非宿主机的一个进程
    IPC namespace:
    涉及到的IPC资源有包括常见的信号量,消息队列和共享内存,容器和宿主机,容器与容器之间,容器与宿主机之间隔离
    PID namespace:
    对进程PID重新标号,两个不同的namespace下的进程可以有相同的PID,内核中为所有的PID维护了一个树状结构,最顶层的是系统初始时建立的即root namespace,它创建的新PID namespace被称为child namespace(树的子节点),通过这种方式,不同的PID namespace会形成一个层级体系,所有的父节点可以看到子节点中的进程,并通过信号的方式对子节点中的进程产生影响,但是子节点看不到父节点PID namespace中的任何内容
    Nework namespace:
    对网络相关资源进行隔离,每个network namespace都有自己的网络设备,IP地址,路由表,/proc/net 目录,端口号等, 有了网络隔离,比如有两个容器的web应用都是用了80端口,因为隔离就不会冲突
    User namespace:
    隔离用户和组ID,也就是说一个进程在namespace里和用户和组ID可以和它在host里的ID可以不一样,
  • 相关阅读:
    AcWing 1027. 方格取数 dp
    AcWing 1014. 登山 dp
    acwing 482. 合唱队形 dp
    LeetCode 1463. 摘樱桃II dp
    LeetCode 100. 相同的树 树的遍历
    LeetCode 336. 回文对 哈希
    LeetCode 815. 公交路线 最短路 哈希
    算法问题实战策略 DARPA大挑战 二分
    算法问题实战策略 LUNCHBOX 贪心
    AcWing 1100. 抓住那头牛 BFS
  • 原文地址:https://www.cnblogs.com/allenhaozi/p/8283176.html
Copyright © 2011-2022 走看看