
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
docker-inotify-command是一个用于监控目录变化并触发指定命令的Docker容器。它支持同时监控多个目录,可通过配置控制命令执行频率,适用于需要基于文件变化自动执行操作的场景,如权限修复、媒体库扫描、自动化脚本运行等。
拉取并运行容器
该镜像已发布为Docker可信构建,可直接拉取使用:
bashsudo docker run --name=inotify-command -d \ -v /etc/localtime:/etc/localtime \ -v /path/to/config/dir:/config:rw \ -v /path/to/monitor/dir:/dir1 \ coppit/inotify-command
查看容器状态
bashdocker logs inotify-command
首次运行
首次运行容器时,会在配置目录(/config)生成sample.conf文件,然后容器会退出。需重命名该文件(如monitor1.conf)并编辑配置参数。
配置参数说明
配置文件支持以下参数:
| 参数 | 说明 |
|---|---|
WATCH_DIR | 要监控的目录路径(容器内路径,需通过-v映射到宿主机) |
SETTLE_DURATION | 变化稳定时间(秒),等待此时间无新变化后执行命令 |
MAX_WAIT_TIME | 最大等待时间,格式可为秒(如30)或时分(如05:00) |
MIN_PERIOD | 命令最小执行间隔,格式同MAX_WAIT_TIME |
COMMAND | 触发后执行的命令 |
USER_ID | 执行命令的用户ID |
GROUP_ID | 执行命令的组ID |
UMASK | 文件创建权限掩码(八进制,如0022) |
IGNORE_EVENTS_WHILE_COMMAND_IS_RUNNING | 是否在命令执行期间忽略新事件(1=忽略,0=不忽略) |
USE_POLLING | 是否使用轮询方式监控(yes/no) |
多目录监控
创建多个配置文件(如monitor1.conf、monitor2.conf)即可监控多个目录,需确保每个配置文件中的WATCH_DIR对应不同的容器内路径(如/dir1、/dir2),并在运行容器时通过-v参数映射相应的宿主机目录。
UMAP和GMAP环境变量
若命令需要修改宿主机文件,可通过UMAP和GMAP环境变量映射容器内用户/组ID与宿主机一致:
UMAP:用户映射,格式为用户名:宿主机用户ID:宿主机组ID,多个用户用空格分隔GMAP:组映射,格式为组名:宿主机组ID,多个组用空格分隔示例:
bashdocker run -e UMAP="nobody:99:100 www:80:800" -e GMAP="users:100 wheel:800" ...
USER_ID、GROUP_ID和UMASK配置
对于没有显式指定用户/组的命令,可在配置文件中设置:
USER_ID:执行命令的用户ID(应与宿主机用户ID一致)GROUP_ID:执行命令的组ID(应与宿主机组ID一致)UMASK:文件创建权限掩码(可通过su -l 用户名 -c umask在宿主机查看)配置文件(permfix.conf):
iniWATCH_DIR=/dir2 SETTLE_DURATION=5 MAX_WAIT_TIME=30 MIN_PERIOD=30 COMMAND="/root/newperms /dir2" USER_ID=0 GROUP_ID=0 UMASK=0000 IGNORE_EVENTS_WHILE_COMMAND_IS_RUNNING=1 USE_POLLING=no
运行容器:
bashdocker run -e UMAP=nobody:99:100 -e GMAP=users:100 --name=inotify-command -d \ -v /etc/localtime:/etc/localtime \ -v /path/to/config:/config:rw \ -v /path/to/monitor:/dir2:rw \ -v /usr/local/sbin/newperms:/root/newperms \ coppit/inotify-command
配置文件(sagetv.conf):
iniWATCH_DIR=/dir1 SETTLE_DURATION=5 MAX_WAIT_TIME=05:00 MIN_PERIOD=10:00 COMMAND="wget -nv -O /dev/null --auth-no-challenge http://sage:frey@192.168.1.102:8080/sagex/api?c=RunLibraryImportScan&1=" USER_ID=0 GROUP_ID=0 UMASK=0000 IGNORE_EVENTS_WHILE_COMMAND_IS_RUNNING=0 USE_POLLING=no
运行容器:
bashdocker run --name=inotify-command -d \ -v /etc/localtime:/etc/localtime \ -v /path/to/config:/config:rw \ -v /path/to/media:/dir1 \ coppit/inotify-command
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务