一、作用场景及知识点

  1. 使用场景(SSH方式除外):

    A. 运行在Docker容器里面的程序,怎么采集宿主机的CPU、内存、磁盘等信息;

    B. 容器内更改宿主机的网卡信息,怎么操作宿主机执行命令;

    C. 容器内命令不足,如telnet调试端口,怎么利用宿主机的工具命令。

  2. 知识点介绍

    A. Docker和宿主机共用一个内核,Namespace的隔离依然没有完全隔离Linux资源,如:/proc、/sys、/dev/sd*等目录;

    B. 使用Docker问题:在Docker容器中执行top、free命令,看到的资源情况是宿主机的资源消耗比例,而不是这个容器被限制了多少CPU、内存;

    C. 设置容器特权级运行:--privileged,比如容器内操作内核模块、挂载USB磁盘、修改MAC地址等,设置privileged=true即可;

    D. 设置容器特权白名单:--cap-add,privileged=true等同于cap-add=ALL,其权限非常大,接近于宿主机的权限,为了防止用户的滥用,需要增加权限限制,只提供给容器必须的权限。

二、实际应用

  1. Docker容器操作宿主机命令

    A. 修改Docker Compose配置文件

      pid=host,使用宿主机命名空间,方便容器获取到宿主机所有进程信息,其中/proc/1作为nsenter的目标;

      privileged=true,使得docker容器有root权限执行宿主机命令,确保从容器执行命令时不会报权限不足提示;

    B. nsenter执行宿主机命令查看IP信息:nsenter -n -t 1 ip addr

      nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令,位于util-linux包中,格式:nsenter -a -t <pid> <command> 或者nsenter -m -u -i -n -p -t <pid> <command> ;

      -a表示进入宿主机的所有命名空间,linux旧版本可能不支持,需要替换为-m -u -i -n -p、-m表示进入mount命令空间、-u表示进入uts命令空间、-i表示进入ipc命令空间、-n表示进入net命令空间、-p表示进入pid命令空间、-U表示进入user命令空间、-t表示被进入命名空间的目标进程的pid;

      可以先输入nsenter -n -t 1进入1空间,然后输入ip addr命令,最后执行exit退出。

  2. Docker容器权限(nsenter -m -u -i -n -p -t 1)

    A. 配置SYS_ADMIN,否则报错:

    B. 配置SYS_PTRACE,否则报错: 

  3. nsenter命令安装

FROM baseImage
RUN apk add util-linux --no-cache

最新文章

  1. 基于python的七种经典排序算法
  2. C++读取mysql中utf8mb4编码表数据乱码问题及UTF8转GBK编码
  3. ruby4种比较符号
  4. gRPC Client的负载均衡器
  5. [HDOJ3367]Pseudoforest(并查集,贪心)
  6. 粗窥STARTUP.A51和INIT.A51
  7. iOS实现白板、画板功能,有趣的涂鸦工具,已封装,简单快捷使用
  8. HTML 输入类型
  9. 如何成为一个javascript高手【转载】
  10. 程序压力测试、性能测试AB、Webbench、Tsung
  11. MATLAB绘制函数图
  12. selenium在scrapy中的使用、UA池、IP池的构建
  13. ACM-ICPC 2018 南京赛区网络预赛 G Lpl and Energy-saving Lamps(模拟+线段树)
  14. 由装饰者模式来深入理解Java I/O整体框架
  15. 运用kNN算法识别潜在续费商家
  16. shell案例题
  17. logstash笔记(一)——redis&amp;es
  18. 【转】阿里云Ubuntu系统搭建SVN服务器
  19. vue 中使用better-scroll 遇到的问题
  20. Mongodb 分片操作 介绍

热门文章

  1. 前端实现电子签名(web、移动端)通用组件
  2. kafka集群under replicated分析
  3. vue2 less的下载配置
  4. 年羹尧奏摺专集(下).PDF
  5. 个人css样式
  6. js match方法
  7. Python系统模块os.py和sys.py常用函数
  8. 哲讯分享:sap软件多少钱一套
  9. ChatGPT 爆火!真有那么神?设计师会失业吗?
  10. GNN学习(一):基础知识