Docker容器内部获取宿主机CPU、磁盘、网卡等信息


这里提供一个获取宿主机的思路,具体的代码根据需求自己实现

一、使用挂载宿主机目录方式获取宿主机信息

在启动容器的时候,挂载/proc/目录到指定目录,注意容器容也有proc目录,容器中不可再用/proc目录,然后根据cpuinfo或者其他文件自己提取数据再算出来,个人感觉比较麻烦

docker run -it -v /proc:/hostinfo/proc 镜像名

将/proc目录挂载到容器的/hostinfo/proc目录,然后读取文件来提取信息
如提取cpu使用率,参见:http://www.blogjava.net/fjzag/articles/317773.html
其他信息类似

二、在容器中使用ssh连接到主机获取主机信息

下面就以alpine系统为例介绍一下,当然其他centos,Ubuntu等也都类似

// An highlighted block
# apk update   //进入容器后首先更新
# apk add openssh-client   //安装ssh客户端,只需要客户端就可以连接其他主机,不需要安装server
# apk add sshpass    //安装sshpass,ssh不能指定登录密码,需要sshpass协助
# sshpass -p "123456" ssh root@192.168.0.61 "df -h"  //-p后面是ssh登录密码,“df -h“是需要执行的命令
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G   11G   40G   21% /
devtmpfs                 3.8G     0  3.8G    0% /dev
tmpfs                    3.8G     0  3.8G    0% /dev/shm
tmpfs                    3.8G  9.4M  3.8G    1% /run
tmpfs                    3.8G     0  3.8G    0% /sys/fs/cgroup
/dev/sda1               1014M  146M  869M   15% /boot
/dev/mapper/centos-home  407G   56G  352G   14% /home
tmpfs                    775M     0  775M    0% /run/user/0
overlay                  407G   56G  352G   14% /home/docker_data/overlay2/8ed720bb28e71a9551d0571ded60cddcd469f61bd95b5f9b9a0a2e20e40ec6fa/merged
shm                       64M     0   64M    0% /home/docker_data/containers/47a4d4dbe861507477ee11a5e65e9c073d2a2e336e63f5626de15c2fbf06160f/mounts/shm
overlay                  407G   56G  352G   14% /home/docker_data/overlay2/3d994d13d288265c90f7aabc4d311db50ee8b53228ee2635ca43035e8ac41b7e/merged
shm                       64M     0   64M    0% /home/docker_data/containers/185f01c2ad42b84a411b0c36e1d6f36ef94febb3ce0dfed0794a5f039a56ae98/mounts/shm
overlay                  407G   56G  352G   14% /home/docker_data/overlay2/43a4cc3ef35ebe63fa79f7155e0ab50cb9b11aa452d11eb4377f1ab35175c8d9/merged
shm                       64M     0   64M    0% /home/docker_data/containers/66d9f7dd4c73454d0c46197e2bbd55a6bda5bff354f1b2a9eff78abbe678652e/mounts/shm
overlay                  407G   56G  352G   14% /home/docker_data/overlay2/068c6c7e432c1a234ef7e0dd6dc2e1bf4bdcf666be6e081cdde2cbe085a0c217/merged
shm                       64M     0   64M    0% /home/docker_data/containers/5e46d1659245ef3a8c6c59a35cbcbd2cfeb4c4b432d5391721fd6aabc835339d/mounts/shm
overlay                  407G   56G  352G   14% /home/docker_data/overlay2/2c5ebdd0afcc4b97fb159f81dd6adf753a5c3523b4ac4f59485c6a8105da06b6/merged
shm                       64M     0   64M    0% /home/docker_data/containers/d7661a53104d6862e94e51df70fb6b80e4c22fe8e5952fd38e4727628d565299/mounts/shm
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值