据说Docker会自动将SysFs挂载为只读

在中国,我只需要一种选择,将以下内容以汉语进行重述:背景。

我正在尝试建立一个Docker Swarm集群时遇到了一些奇怪的问题,所以我进行了一些调查。虽然我没有看过规范文件,但这是一个关于它的行为的笔记。(如果有更详细的规范,请告诉我,谢谢!)
注意:这篇文章是我在7月31日之后放置两个月的,所以我已经不记得详细内容了…

怀疑的事情

这里有一个名为 RPi-Exporter 的主机温度获取和 Prometheus 指标导出程序。

有一个名为Docker-ARM-Exporter的项目,将其Docker化处理。

image.png
image.png

根据rpi_cpu_temperature_celsius的数值在重新加载时的变动,可以确认已成功读取主机温度。为什么无需绑定任何东西就能读取呢?这是这次的疑问点。

你是如何读取主机温度的呢?

我在那裡查看了源代碼,發現了一個句子 `ioutil.ReadFile(“/sys/class/thermal/thermal_zone0/temp”)`,通過讀取這個句子似乎可以獲取溫度。

在Debian/Stretch容器中进行验证

image.png

有了其他的疑问

我知道默认情况下它已挂载,因此可以读取温度,但还有其他令我担忧的事情。

/sys/class是什么东西?

/sys/class是放置设备符号链接的目录。

https://www.wdic.org/w/TECH//sys/class

他人对他有什么评头论足的吗?

他似乎还受到了其他很多压力。

这个可以写进去吗?

看起来它被挂载为只读模式。
https://forums.docker.com/t/unable-to-mount-sys-inside-the-container-with-rw-access-in-unprivileged-mode/97043
实际尝试后也无法写入。

安全性怎么样?

以下是对给出的网页链接进行的本地化汉语重述:
可能会有一些风险存在。

最后确定的是

即使Docker容器未挂载任何卷,也可以运行并读取系统的某些部分。虽然无法进行写操作,但仍有可能出现一些攻击线索,所以谨慎起见是没有错的。

广告
将在 10 秒后关闭
bannerAds