
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Modmanager是一个集中式工具,用于下载和更新其他Linuxserver容器的Docker mods。它能集中管理mod的下载与更新,减少重复下载,提升容器部署效率。
该镜像利用Docker manifest实现多平台支持。只需拉取lscr.io/linuxserver/modmanager:latest即可获取适合您架构的镜像,也可通过标签拉取特定架构镜像。支持的架构如下:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
您可以通过DOCKER_MODS环境变量指定要下载的mods(如同其他容器),或通过将Docker套接字挂载到容器中(或通过内置的DOCKER_HOST环境变量配置合适的替代端点)允许通过Docker发现mods。无论选择哪种方式,需要安装mods的容器仍需设置相应的DOCKER_MODS环境变量。
Modmanager容器会在启动时下载所有需要的mods,然后每6小时检查一次更新;如果使用Docker发现,它会自动检测新的mods。
您可以将/modcache路径挂载到其他Linuxserver容器中,这些容器将从该路径获取mods,而非每次重新下载。
如果mod需要安装额外的包,每个容器在重新创建时仍需下载这些包。
注意:Modmanager容器本身不支持应用mod或自定义文件/服务。Modmanager仅支持2025年1月1日之后构建的Linuxserver镜像,虽然它可能与使用我们镜像作为基础的第三方容器兼容,但我们不提供支持。
映射docker.sock可能带来安全风险,因为Docker在主机上具有root权限,任何完全访问docker.sock的进程也将获得主机的root权限。Docker API本身没有内置访问限制,但您可以通过如https://github.com/linuxserver/docker-socket-proxy%E8%BF%99%E6%A0%B7%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E4%B8%BA%60docker.sock%60%E4%BD%BF%E7%94%A8%E4%BB%A3%E7%90%86%EF%BC%8C%E8%AF%A5%E6%96%B9%E6%A1%88%E8%83%BD%E9%99%90%E5%88%B6API%E5%AF%B9%E7%89%B9%E5%AE%9A%E7%AB%AF%E7%82%B9%E7%9A%84%E8%AE%BF%E9%97%AE%E3%80%82
[!NOTE] 在尝试设置前,请确保完全了解操作流程,否则可能因猜测导致多种问题。
Modmanager可以查询和下载远程主机以及本地主机的mods。如果仅使用DOCKER_MODS环境变量而不使用Docker发现,只需在远程主机上挂载/modcache文件夹,并确保所有参与容器都映射该目录。
如果使用Docker发现,我们唯一支持的连接远程主机的方式是https://github.com/linuxserver/docker-socket-proxy/%E3%80%82%E5%9C%A8%E6%AF%8F%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%B8%BB%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E4%B8%80%E4%B8%AA%E5%AE%9E%E4%BE%8B%EF%BC%9A
[!WARNING] 如果套接字代理允许任何写操作(
POST=1、ALLOW_RESTART=1等)或暴露非必要的API元素,请勿将其暴露到局域网。绝对不要将套接字代理暴露到广域网。
ymlmodmanager-dockerproxy: image: lscr.io/linuxserver/socket-proxy:latest container_name: modmanager-dockerproxy environment: - CONTAINERS=1 - POST=0 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro tmpfs: - /run ports: - 2375:2375 restart: unless-stopped read_only: true
然后通过DOCKER_MODS_EXTRA_HOSTS环境变量添加远程主机,使用完整协议和端口,多个服务器用竖线(|)分隔,例如:
yaml- DOCKER_MODS_EXTRA_HOSTS=tcp://host1.example.com:2375|tcp://host2.example.com:2375|tcp://192.168.0.5:2375
如上所述,您需要在远程主机上挂载/modcache文件夹,并确保所有参与容器都映射该目录。
以下是使用该镜像创建容器的方法,您可以使用docker compose或docker cli。
[!NOTE] 除非参数标记为“可选”,否则均为必填项,必须提供值。
yaml--- services: modmanager: image: lscr.io/linuxserver/modmanager:latest container_name: modmanager environment: - DOCKER_MODS= `#可选` - DOCKER_HOST= `#可选` - DOCKER_MODS_EXTRA_HOSTS= `#可选` volumes: - /path/to/modcache:/modcache - /var/run/docker.sock:/var/run/docker.sock:ro `#可选` restart: unless-stopped
bashdocker run -d \ --name=modmanager \ -e DOCKER_MODS= `#可选` \ -e DOCKER_HOST= `#可选` \ -e DOCKER_MODS_EXTRA_HOSTS= `#可选` \ -v /path/to/modcache:/modcache \ -v /var/run/docker.sock:/var/run/docker.sock:ro `#可选` \ --restart unless-stopped \ lscr.io/linuxserver/modmanager:latest
容器通过运行时传递的参数进行配置(如上所示)。参数格式为<外部>:<内部>。例如,-p 8080:80表示将容器内的80端口映射到主机的8080端口。
| 参数 | 功能 |
|---|---|
-e DOCKER_MODS= | 竖线分隔(|)的要下载的mods列表 |
-e DOCKER_HOST= | 指定Docker端点(如果不使用docker.sock) |
-e DOCKER_MODS_EXTRA_HOSTS= | 竖线分隔(|)的其他要查询和下载mods的主机列表,详见应用设置部分 |
-v /modcache | Modmanager的mod缓存目录 |
-v /var/run/docker.sock:ro | 将主机的Docker套接字挂载到容器中(只读) |
bashdocker exec -it modmanager /bin/sh
bashdocker logs -f modmanager
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' modmanager
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/modmanager:latest
我们的大多数镜像都是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部应用。除相关readme.md中特别说明外,不建议或支持在容器内更新应用。请参考上述“应用设置”部分了解是否推荐更新。
以下是更新容器的说明:
更新镜像:
bashdocker compose pull
bashdocker compose pull modmanager
更新容器:
bashdocker compose up -d
bashdocker compose up -d modmanager
还可以删除旧的悬空镜像:
bashdocker image prune
bashdocker pull lscr.io/linuxserver/modmanager:latest
bashdocker stop modmanager
bashdocker rm modmanager
bashdocker image prune
[!TIP] 我们推荐使用https://crazymax.dev/diun/%E8%8E%B7%E5%8F%96%E6%9B%B4%E6%96%B0%E9%80%9A%E7%9F%A5%E3%80%82%E4%B8%8D%E6%8E%A8%E8%8D%90%E6%88%96%E6%94%AF%E6%8C%81%E5%85%B6%E4%BB%96%E8%87%AA%E5%8A%A8%E6%97%A0%E4%BA%BA%E5%80%BC%E5%AE%88%E6%9B%B4%E6%96%B0%E5%AE%B9%E5%99%A8%E7%9A%84%E5%B7%A5%E5%85%B7%E3%80%82
如果您想对这些镜像进行本地修改以用于开发或自定义逻辑:
bashgit clone https://github.com/linuxserver/docker-modmanager.git cd docker-modmanager docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/modmanager:latest .
可以使用lscr.io/linuxserver/docker-qemu-static在x86_64硬件上构建ARM变体,反之亦然:
bashdocker run --rm --privileged lscr.io/linuxserver/docker-qemu-static --reset
注册后,可以使用-f Dockerfile.aarch64指定要使用的dockerfile。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务