jchonig/nut-cgi该容器包含Network UPS Tools的CGI工具和fcgiwrap,专门设计用于与nginx容器配合使用。由于许多nginx容器基于Alpine Linux,而Alpine系统未提供Nut CGI工具,本容器基于Ubuntu构建,预装了nut-cgi和fcgiwrap,可有效解决这一兼容性问题。
适用于需要通过nginx Web服务器提供NUT CGI监控界面的场景,特别适合以下情况:
兼容docker-compose v3架构,以下是典型配置示例:
yaml--- version: "3" services: nut-cgi: image: jchonig/nut-cgi container_name: nut-cgi environment: - PUID=1000 - PGID=1000 - TZ=Europe/London volumes: - nut-html:/config/www/nut - /etc/nut/hosts.conf:/etc/nut/hosts.conf:ro expose: - 8081 restart: unless-stopped nginx: # nginx容器配置 volumes: # 其他卷配置... - nut-html:/config/www/nut:ro # 只读挂载nut-cgi的Web文件 restart: unless-stopped depends_on: nut-cgi # 确保nut-cgi容器先启动 volumes: nut-html: # 用于在nut-cgi和nginx之间共享Web文件的命名卷
| 环境变量 | 功能说明 |
|---|---|
| PUID=1000 | 用于用户ID - 设置运行Nginx的用户UID |
| PGID=1000 | 用于组ID - 设置运行Nginx的用户组GID |
| TZ=UTC | 指定要使用的时区,例如UTC、Europe/London等 |
| 卷路径 | 功能说明 |
|---|---|
| /config/www/nut | 私有卷,用于存储NUT的Web界面文件,供nginx访问 |
| /etc/nut/hosts.conf:/etc/nut/hosts.conf:ro | 只读挂载NUT的hosts.conf配置文件,定义UPS设备连接信息 |
映射NUT配置文件
将主机的NUT hosts.conf文件挂载到容器中:/etc/nut/hosts.conf:/etc/nut/hosts.conf:ro,确保容器能正确识别UPS设备。
配置nginx
在nginx配置中添加以下location块,实现对NUT CGI的反向代理:
nginxlocation /nut { root /config/www; try_files $uri/index.html =404; # 处理静态Web文件 } location /cgi-bin/nut/ { gzip off; root /usr/lib; include /etc/nginx/fastcgi_params; fastcgi_pass nut-cgi:8081; # 连接nut-cgi容器的8081端口 fastcgi_param SCRIPT_FILENAME /usr/lib/$fastcgi_script_name; }
权限设置
通过PUID和PGID环境变量设置与nginx运行用户一致的权限,避免文件访问权限问题。
时区配置
设置正确的TZ环境变量(如Asia/Shanghai),确保日志和时间显示准确。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务