mikebrady/shairport-syncShairport Sync 是一款 AirPlay 2 音频播放器。其“经典”版本提供经典 AirPlay(即“AirPlay 1”)功能,类似于早期版本的 Shairport Sync。更多信息请访问其 GitHub 仓库。
假设您的 Linux 系统已安装 Docker,可在终端窗口输入以下命令试用 Shairport Sync(无需输入 $,它是命令行提示符):
$ docker run --rm --cap-add=SYS_NICE --net host --device /dev/snd mikebrady/shairport-sync:latest
(若要试用 development 版本,请将上述命令中的 latest 替换为 development。)
首次运行时,系统会先下载 Docker 镜像,输出类似以下内容:
Unable to find image 'mikebrady/shairport-sync:latest' locally latest: Pulling from mikebrady/shairport-sync:latest d62bb7eb03b5: Pull complete 870e870d46ff: Pull complete 0c12ec19e4f3: Pull complete 6df3ea12d3a5: Pull complete Digest: sha256:5a59bde7b859cdfbe70a1e8d746464c77a402ef88010146fe6aa189dc0f3f0da Status: Downloaded newer image for mikebrady/shairport-sync:latest
下载完成后,容器会运行直至您停止它。后续运行时无需再次下载镜像,将直接启动。
运行期间,您的 AirPlay 设备(如 iPhone)应能发现新的 AirPlay 目标,名称为系统主机名。连接后播放音频,声音将通过系统默认音频设备输出。您可能需要调整 AirPlay 设备和系统的音量。
若系统启用防火墙(如 Fedora 默认启用防火墙),可能会干扰 AirPlay 功能。测试时可考虑暂时关闭防火墙。所需开放的端口列表见 此处,但可能不完整。
$ docker run --cap-add=SYS_NICE -d --restart unless-stopped --net host --device /dev/snd \ mikebrady/shairport-sync
上述命令将以守护进程模式运行最新版本的 Shairport Sync,访问计算机的 ALSA 音频架构,将音频发送至默认输出设备,但不控制设备可能有的内置硬件混音器(即音量控制)。AirPlay 服务名称为主机名首字母大写形式,例如 Ubuntu。
以下命令运行最新版本的“经典”Shairport Sync,使用旧版“经典”AirPlay(即“AirPlay 1”)协议:
$ docker run --cap-add=SYS_NICE -d --restart unless-stopped --net host --device /dev/snd \ mikebrady/shairport-sync:classic
添加到上述命令的任何选项都将传递给 Shairport Sync——更多选项详情请访问 GitHub 仓库。示例如下:
$ docker run --cap-add=SYS_NICE -d --restart unless-stopped --net host --device /dev/snd \ mikebrady/shairport-sync -a DenSystem -- -d hw:0 -c PCM
此命令将音频发送至 ALSA 硬件设备 hw:0,使用设备名为 PCM 的混音器控制输出音量,服务在网络中显示为 DenSystem。
编辑容器内的配置文件 /etc/shairport-sync.conf,或使用 -v 选项将外部 shairport-sync.conf 文件挂载至容器内 /etc/shairport-sync.conf,以获取完整配置选项。
latest 和 classic:分别为 Shairport Sync 和经典版 Shairport Sync 的最新发布版本。rolling 和 rolling-classic:包含 master 分支的最新更新,可能尚未纳入正式发布。development 和 development-classic:development 分支的最新构建,可能稳定性较低且更新频繁。4.1、4.1-classic):对应各正式发布版本。完整标签列表见“Tags”选项卡。
若主机运行防火墙(如桌面版 Fedora 默认启用防火墙),需开放 Shairport Sync 所需端口。有关 ufw 防火墙的讨论(端口列表适用于所有防火墙)见 此处。
工具 dacquery 可列出适合 Shairport Sync 的音频设备,其 Docker 镜像见 此处。
除作为守护进程运行外,也可在命令行直接运行 Docker 镜像。注意,命令末尾的选项将传递给 shairport-sync。
例如,获取帮助文本:
$ docker run --rm --cap-add=SYS_NICE --net host --device /dev/snd mikebrady/shairport-sync:latest --help
--help 命令将传递给 shairport-sync,输出其帮助文本(含 Docker 系统部分消息)。输出后,Shairport Sync 及整个镜像将停止运行。
再如,运行 Shairport Sync 并在播放音频时在命令行显示统计信息:
docker run --rm --cap-add=SYS_NICE --net host --device /dev/snd mikebrady/shairport-sync:latest --statistics
播放开始后,将显示 Shairport Sync 的播放统计信息(含 Docker 系统部分消息),此时 Shairport Sync 将持续运行。
更多详情见 GitHub 仓库。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
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 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务