
gists/smartmontoolssmartmontools Docker镜像是基于Alpine Linux构建的轻量级容器,集成了s Martmontools工具集(包含smartctl和smartd),用于通过S.M.A.R.T.(自我监控、分析与报告技术)协议监控存储设备(如硬盘、SSD)的健康状态。该镜像旨在提供便捷的跨环境部署方案,支持实时收集设备S.M.A.R.T.数据、分析运行状态及触发故障预警。
smartctl(命令行工具)和smartd(后台守护进程),支持查询设备S.M.A.R.T.属性、执行自检(短/长/ conveyance)及分析健康状态。smartd.conf)定义监控规则、告警触发条件及通知方式。ssmtp配置),支持故障状态实时通知。smartd守护进程模式运行,持续监控设备状态并记录日志。通过docker run命令快速启动容器,默认配置下运行smartd守护进程:
bashdocker run \ -d \ --privileged \ # 必要:允许容器访问宿主机存储设备(如/dev/sda) --name smartmontools \ # 指定容器名称 gists/smartmontools # 镜像名称
参数说明:
-d:后台运行容器;--privileged:赋予容器特权模式,需访问宿主机设备文件(如/dev下的磁盘设备);--name:自定义容器名称,便于管理。通过docker-compose实现持久化配置和服务自启动,支持挂载自定义监控规则及告警配置文件:
yamlversion: '3' services: smartmontools: image: gists/smartmontools privileged: true # 同docker run,需特权模式访问设备 volumes: - ./smartd.conf:/etc/smartd.conf # 挂载自定义smartd监控配置 - ./ssmtp.conf:/etc/ssmtp/ssmtp.conf # 邮件发送配置(ssmtp主配置) - ./revaliases:/etc/ssmtp/revaliases # 邮件别名配置(可选) restart: always # 容器退出时自动重启,确保服务持续运行
部署步骤:
smartd.conf、ssmtp.conf、revaliases);docker-compose.yml并指定上述文件挂载路径;docker-compose up -d启动服务。路径:容器内/etc/smartd.conf,用于定义smartd守护进程的监控规则,格式为:
ini# 语法:<设备路径> <监控选项> <告警动作> /dev/sda -a -m *** # 监控/dev/sda,启用所有属性检查,告警邮件发送至*** /dev/sdb -s (S/../../6/03) -W 4,50,55 # 每周六3点执行短自检,温度超过55°C告警(警告阈值50°C)
详细配置项参考smartd.conf官方文档。
若需通过邮件发送告警,需挂载ssmtp.conf(SMTP客户端配置)和revaliases(邮件别名):
ssmtp.conf(示例,使用SMTP服务器发送邮件):
iniroot=*** # 发件人*** mailhub=smtp.example.com:587 # SMTP服务器地址:端口 AuthUser=*** # SMTP认证用户名 AuthPass=password # SMTP认证密码 UseSTARTTLS=YES # 启用TLS加密
revaliases(定义本地用户与外部***映射):
iniroot:***:smtp.example.com:587 # 将root用户的邮件转发至***
--privileged允许容器访问宿主机所有设备,建议仅在可信环境使用,或通过--device=/dev/sda:/dev/sda等参数限制仅挂载需监控的设备。/dev目录(如-v /dev:/dev),但需注意权限冲突。644。docker logs smartmontools查看smartd运行日志,排查配置或设备访问问题。!版本信息 !镜像信息



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务