
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
重要提示
现有新镜像https://hub.docker.com/r/shiomax/jrivermc%E5%8F%AF%E6%9C%89%E6%95%88%E6%9B%BF%E4%BB%A3%E6%9C%AC%E9%95%9C%E5%83%8F%E3%80%82%E6%96%B0%E5%AE%89%E8%A3%85%E5%BB%BA%E8%AE%AE%E7%AB%8B%E5%8D%B3%E4%BD%BF%E7%94%A8%E6%96%B0%E9%95%9C%E5%83%8F%EF%BC%8C%E6%9C%AC%E9%95%9C%E5%83%8F%E6%9C%80%E7%BB%88%E5%8F%AF%E8%83%BD%E5%81%9C%E6%AD%A2%E7%BB%B4%E6%8A%A4/%E6%9E%84%E5%BB%BA%E3%80%82
这是JRiver Media Center的社区构建Docker镜像,基于https://github.com/jlesage/docker-baseimage-gui%E3%80%82%E6%BA%90%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E4%BA%8EGitLab%E3%80%82
主要用途是作为中央“无头”JRiver服务器,供其他JRiver实例流媒体播放音乐。容器内直接音乐播放需主机运行alsa(详见“声音”部分)。
| JRiver版本 | 仓库地址 | 是否继续重建 |
|---|---|---|
| Media Center 30 | https://hub.docker.com/r/shiomax/jrivermc30 | 是 |
| Media Center 29 | https://hub.docker.com/r/shiomax/jrivermc29 | 是 |
| Media Center 28 | https://hub.docker.com/r/shiomax/jrivermc28 | 是 |
| Media Center 27 | https://hub.docker.com/r/shiomax/jrivermc27 | 否 |
| Media Center 26 | https://hub.docker.com/r/shiomax/jrivermc26 | 否 |
| Media Center 25 | https://hub.docker.com/r/shiomax/jrivermc25 | 否 |
| Media Center 24 | https://hub.docker.com/r/shiomax/jrivermc24 | 否 |
!screenshot
推荐使用host网络,除非需要修改端口映射(部分端口可能被主机占用)。若使用bridge网络,需注意:
推荐使用docker-compose管理容器,配置文件docker-compose.yml便于容器重建时保持配置一致。
Bridge网络(默认)
ymlversion: '3' services: jrivermc28: image: shiomax/jrivermc28 restart: always container_name: jrivermc28 mac_address: ed:e8:60:2d:65:c1 ports: - "5800:5800" - "5900:5900" - "52100:52100" - "52101:52101" - "52199:52199" - "1900:1900/udp" environment: - VNC_PASSWORD=12345 volumes: - /path/to/config:/config:rw - /path/to/music:/data/music:rw
Host网络
ymlversion: '3' services: jrivermc28: image: shiomax/jrivermc28 restart: always container_name: jrivermc28 network_mode: host environment: - VNC_PASSWORD=12345 volumes: - /path/to/config:/config:rw - /path/to/music:/data/music:rw
运行容器:docker-compose up -d
更新容器:
docker-compose pull 拉取最新镜像;docker-compose down 停止并删除容器(配置卷挂载时数据不会丢失);docker-compose up -d 重建并后台运行容器;docker image prune 清理未使用镜像。Bridge网络(默认)
shdocker run -d \ --name=jrivermc28 \ --net=bridge \ --restart=always \ --mac-address=ed:e8:60:2d:65:c1 \ -p 5800:5800 \ -p 5900:5900 \ -p 52199:52199 \ -p 52101:52101 \ -p 52100:52100 \ -p 1900:1900/udp \ -v config:/config:rw \ -v /path/to/music:/data/music:rw \ -e VNC_PASSWORD=12345 \ shiomax/jrivermc28
Host网络
shdocker run -d \ --name=jrivermc28 \ --net=host \ --restart=always \ -v config:/config:rw \ -v /path/to/music:/data/music:rw \ -e VNC_PASSWORD=12345 \ shiomax/jrivermc28
更新容器:
docker pull shiomax/jrivermc28:latest 拉取最新镜像;docker rm -f jrivermc28 停止并删除容器;docker run命令重建容器;docker image prune 清理未使用镜像。shiomax/jrivermc28:latest:使用“latest”仓库的JRiver版本(不指定标签时默认此版本);shiomax/jrivermc25:stable:使用“stable”仓库的JRiver版本,功能与latest一致;25.0.83-latest-1、25.0.50-stable-1):包含JRiver版本(25.0.83)、仓库(latest)和镜像版本(1),用于版本回滚,推送后不再更新。/config:容器的主目录,必须挂载到外部目录以持久化设置、库备份等。删除容器时,只要此目录存在,JRiver可恢复原有状态;/data/music:音乐文件挂载目录,也可使用其他目录,建议默认使用此路径。通过映射主机alsa声音设备/dev/snd实现容器内声音播放:
--device /dev/snd选项;ymldevices: - "/dev/snd"
注意:版本7之前不支持此功能。
可通过Web浏览器或VNC客户端访问GUI(假设未修改端口):
http://<主机IP>:5800https://<主机IP>:5800<主机IP>:5900<主机IP>:5900(需支持SSL加密的VNC客户端,如SSVNC)若密钥激活失败,可从[***]
/config目录;docker exec -it <容器名> /bin/bash;HOME环境变量):
shexport HOME=/config mediacenter28 /RestoreFromFile /config/<mjr文件名>
注意:激活时需停止MC。镜像版本16及以上可通过设置
BLOCK_MC_STARTUP=1(创建容器时)或touch /tmp/BLOCK_MC_STARTUP(运行中容器)阻止MC启动,激活后删除文件恢复启动。
若容器无法访问媒体文件,可通过调整USER_ID和GROUP_ID环境变量(数值型,默认1000)匹配媒体文件所属用户/组:
ls -la /path/to/music;id <用户名>;Docker CLI:
shdocker run -d \ --name=jrivermc28 \ --net=host \ --restart=always \ -v config:/config:rw \ -v /path/to/music:/data/music:rw \ -e USER_ID=1234 \ -e GROUP_ID=1234 \ -e VNC_PASSWORD=12345 \ shiomax/jrivermc28
Docker Compose:
ymlversion: '3' services: jrivermc28: image: shiomax/jrivermc28 restart: always container_name: jrivermc28 network_mode: host environment: - VNC_PASSWORD=12345 - USER_ID=1234 - GROUP_ID=1234 volumes: - /path/to/config:/config:rw - /path/to/music:/data/music:rw
/etc/firewalld/services/jriver.xml:
xml<?xml version="1.0" encoding="utf-8"?> <service> <short>jriver</short> <description>Ports required by JRiver MediaCenter.</description> <port protocol="tcp" port="5800"></port> <port protocol="tcp" port="52199"></port> <port protocol="tcp" port="52100"></port> <port protocol="tcp" port="52101"></port> <port protocol="tcp" port="5900"></port> <port protocol="udp" port="1900"></port> </service>
firewall-cmd --reload;firewall-cmd --add-service=jriver --zone=public;firewall-cmd --add-service=jriver --zone=public --permanent,再次重载。/etc/ufw/applications.d/jriver:
[jriver] title=jriver description=Ports required by JRiver MediaCenter ports=5800,52199,52100,52101,5900/tcp|1900/udp
ufw app update jriver,验证:ufw app info jriver;ufw allow jriver。通过挂载脚本到/etc/cont-init.d实现启动时自定义逻辑(如安装包、修复问题)。脚本按文件名前缀数字排序执行(建议使用100+前缀确保在其他初始化后运行)。示例脚本:
sh#!/usr/bin/with-contenv sh set -e set -u log() { echo "[cont-init.d] $(basename $0): $*" } # 自定义逻辑 log "Running custom initialization..."
| 变量名 | 描述 | 默认值 |
|---|---|---|
MAXIMIZE_POPUPS | 设置为1时最大化MC弹窗窗口 | 0 |
BLOCK_MC_STARTUP | 设置为1时阻止MC启动,直至删除/tmp/BLOCK_MC_STARTUP | 未设置 |
| 变量名 | 描述 | 默认值 |
|---|---|---|
APP_NAME | 应用名称 | JRiver MediaCenter 25 |
USER_ID | 应用运行用户ID(详见https://github.com/jlesage/docker-baseimage-gui#usergroup-ids%EF%BC%89 | 1000 |
GROUP_ID | 应用运行组ID | 1000 |
SUP_GROUP_IDS | 补充组ID(逗号分隔) | 未设置 |
UMASK | 文件创建权限掩码(八进制) | 未设置(默认022) |
TZ | 容器时区(也可通过挂载/etc/localtime设置) | Etc/UTC |
KEEP_APP_RUNNING | 设置为1时自动重启应用(崩溃或退出时) | 1 |
APP_NICENESS | 应用优先级(-20最高,19最低,需--cap-add=SYS_NICE权限) | 未设置 |
TAKE_CONFIG_OWNERSHIP | 设置为1时自动将/config所有权设为USER_ID和GROUP_ID | 1 |
CLEAN_TMP_DIR | 设置为1时启动时清理/tmp目录 | 1 |
DISPLAY_WIDTH | 应用窗口宽度(像素) | 1280 |
DISPLAY_HEIGHT | 应用窗口高度(像素) | 768 |
SECURE_CONNECTION | 设置为1时启用加密连接(Web/VNC) | 0 |
VNC_PASSWORD | VNC访问密码 | 未设置 |
X11VNC_EXTRA_OPTS | x11vnc服务器额外参数(高级用户) | 未设置 |
ENABLE_CJK_FONT | 设置为1时安装文泉驿正黑字体(支持CJK字符) | 0 |
10-...(执行顺序无关)ENABLE_CJK_FONT测试beta版本构建目标ENABLE_CJK_FONT字体安装问题libgbm1以修复JRiverMC27浏览器功能jlesage/baseimage-gui:debian-10-v3.5.6您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务