能否在Docker容器内读取宿主机的进程信息(ps)和一些系统状态(df)

目前在做一个系统性能监控的工具,因为要依赖的东西比较多,所以准备迁移到Docker上以便于向下部署(跑到主机上又apt又crond又logrotate的太麻烦了)。

目前已经搞定cpu了,知道只要能读到宿主机的/proc/sysstat即可;内存也是,/proc/memstat。这两个只要只读卷挂载就OK。

还差个分区信息(df -h)和进程信息(ps auxf),这两个在宿主机上直接运行就ok,但是到了容器内就不行了。

有什么办法能从容器内读到宿主机的这两个信息?

阅读 7.9k
1 个回答

1.In docker container, you can add dockerhost in /etc/hosts:

127.0.0.1    localhost
192.168.0.109   dockerhost  # host ip

2.In docker container,run command as following:

ssh root@dockerhost 'df -h'

NOTE:You can add docker ssh file id_rsa.pub in dockerhost, so you do not have to input password every time when excuting the command.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题