
如果你使用 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://github.com/flyinghead/flycast 是一款多平台Sega Dreamcast、Naomi、Naomi 2及Atomiswave模拟器,衍生自reicast项目。本镜像由LinuxServer.io团队开发,提供便捷的容器化部署方案。
该镜像利用Docker manifest实现多平台支持,默认拉取 lscr.io/linuxserver/flycast:latest 即可获取对应架构的正确镜像,也可通过标签指定特定架构。
| 架构 | 支持情况 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
应用可通过以下地址访问:
本镜像默认使用自签名证书,因此访问协议为 https。若使用验证证书的反向代理,需为容器禁用证书检查。
现代GUI桌面应用可能与最新Docker系统调用限制存在兼容性问题。在内核或libseccomp版本较旧的主机上,可使用 --security-opt seccomp=unconfined 参数允许这些系统调用。
[!WARNING] 本容器提供对主机系统的特权访问。除非已正确配置安全措施,否则请勿将其暴露到互联网。
完整功能需HTTPS支持:Web编解码器等现代浏览器功能无法在不安全的HTTP连接下运行。
默认情况下,容器未启用认证。可选环境变量 CUSTOM_USER 和 PASSWORD 可启用基本HTTP认证,仅适用于可信局域网环境。若需互联网暴露,强烈建议将容器部署在反向代理(如https://github.com/linuxserver/docker-swag%EF%BC%89%E4%B9%8B%E5%90%8E%EF%BC%8C%E5%B9%B6%E9%85%8D%E7%BD%AE robust 认证机制。
Web界面包含具有无密码 sudo 权限的终端。任何可访问GUI的用户均可在容器内获取root权限、安装任意软件并探测本地网络。
在特定 legacy 环境(如老旧硬件或过时Linux发行版)中,可能需要停用标准seccomp配置以运行容器化桌面软件,可通过 --security-opt seccomp=unconfined 参数实现。此选项仅在绝对必要时使用,因它会禁用Docker的关键安全层。
本容器基于 https://github.com/linuxserver/docker-baseimage-selkies%EF%BC%8C%E6%94%AF%E6%8C%81%E4%BB%A5%E4%B8%8B%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%92%8C%E8%BF%90%E8%A1%8C%E9%85%8D%E7%BD%AE%EF%BC%9A
| 变量 | 描述 |
|---|---|
CUSTOM_PORT | 内部HTTP端口,默认 3000 |
CUSTOM_HTTPS_PORT | 内部HTTPS端口,默认 3001 |
CUSTOM_WS_PORT | 容器监听WebSocket的内部端口,默认 8082 |
CUSTOM_USER | HTTP基本认证用户名,默认 abc |
PASSWORD | HTTP基本认证密码,未设置则禁用认证 |
SUBFOLDER | 反向代理子路径,需包含首尾斜杠(如 /subfolder/) |
TITLE | 网页标题,默认 "Selkies" |
START_DOCKER | 设为 false 禁用Docker-in-Docker自动启动 |
DISABLE_IPV6 | 设为 true 禁用容器IPv6支持 |
LC_ALL | 容器区域设置(如 fr_FR.UTF-8) |
DRINODE | 指定DRI设备节点(如 /dev/dri/renderD128) |
NO_DECOR | 设为启用时,应用无窗口边框(适合PWA) |
NO_FULL | 设为启用时,应用不自动全屏 |
DISABLE_ZINK | 设为启用时,检测到显卡也不配置Zink环境变量 |
WATERMARK_PNG | 水印图片路径(如 /usr/share/selkies/www/icon.png) |
WATERMARK_LOCATION | 水印位置(1:左上,2:右上,3:左下,4:右下,5:居中,6:动画) |
| 参数 | 描述 |
|---|---|
--privileged | 启动Docker-in-Docker环境,建议挂载主机Docker数据目录(如 -v /path/to/docker-data:/var/lib/docker)提升性能 |
-v /var/run/docker.sock:/var/run/docker.sock | 挂载主机Docker套接字,允许容器管理主机容器 |
--device /dev/dri:/dev/dri | 挂载GPU设备,结合 DRINODE 环境变量可利用主机显卡实现GPU加速 |
通过 LC_ALL 环境变量设置桌面会话语言,例如:
-e LC_ALL=zh_CN.UTF-8 - 中文-e LC_ALL=ja_JP.UTF-8 - 日语-e LC_ALL=ko_KR.UTF-8 - 韩语-e LC_ALL=ar_AE.UTF-8 - 阿拉伯语-e LC_ALL=ru_RU.UTF-8 - 俄语-e LC_ALL=es_MX.UTF-8 - 西班牙语(拉丁美洲)-e LC_ALL=de_DE.UTF-8 - 德语-e LC_ALL=fr_FR.UTF-8 - 法语-e LC_ALL=nl_NL.UTF-8 - 荷兰语-e LC_ALL=it_IT.UTF-8 - 意大利语为实现应用/游戏加速,可将渲染设备挂载到容器:
bash--device /dev/dri:/dev/dri
仅支持开源GPU驱动:
| 驱动 | 描述 |
|---|---|
| Intel | i965和i915驱动(Intel iGPU芯片组) |
| AMD | AMDGPU、Radeon和ATI驱动(AMD独立显卡或APU芯片组) |
| NVIDIA | 仅nouveau2驱动,闭源NVIDIA驱动缺乏DRI3支持 |
可通过 DRINODE 环境变量指定特定GPU。DRI3在aarch64架构上需容器内安装对应芯片组驱动。
注意:Alpine基础镜像不支持Nvidia
Nvidia GPU支持通过Zink实现OpenGL。当兼容Nvidia GPU被透传时,将自动用于硬件加速视频流编码(使用 x264enc 全帧配置文件),显著降低CPU负载。
通过以下运行时标志启用Nvidia支持:
| 标志 | 描述 |
|---|---|
--gpus all | 将主机所有GPU透传到容器,可指定特定GPU |
--runtime nvidia | 指定Nvidia运行时,提供主机驱动和工具 |
Docker Compose配置需先在主机将Nvidia运行时设为默认:
bashsudo nvidia-ctk runtime configure --runtime=docker --set-as-default sudo systemctl restart docker
然后在 compose.yaml 中分配GPU:
yamlservices: flycast: image: lscr.io/linuxserver/flycast:latest deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [compute,video,graphics,utility]
通过 apt-get install 安装的原生包在容器重建后不会保留。为实现跨容器更新的应用和设置持久化,推荐使用 https://github.com/linuxserver/proot-apps%EF%BC%88%E5%AE%89%E8%A3%85%E5%88%B0%E7%94%A8%E6%88%B7%E6%8C%81%E4%B9%85%E5%8C%96 $HOME 目录)。
在容器内通过命令行安装应用:
bashproot-apps install filezilla
https://github.com/linuxserver/proot-apps?tab=readme-ov-file#supported-apps
可通过 https://github.com/linuxserver/docker-mods/tree/universal-package-install mod安装系统原生仓库包。此方法会增加容器启动时间且不持久。在 compose.yaml 中添加:
yamlenvironment: - DOCKER_MODS=linuxserver/mods:universal-package-install - INSTALL_PACKAGES=libfuse2|git|gdb
yaml--- services: flycast: image: lscr.io/linuxserver/flycast:latest container_name: flycast environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /path/to/config:/config ports: - 3000:3000 - 3001:3001 shm_size: "1gb" restart: unless-stopped
bashdocker run -d \ --name=flycast \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 3000:3000 \ -p 3001:3001 \ -v /path/to/config:/config \ --shm-size="1gb" \ --restart unless-stopped \ lscr.io/linuxserver/flycast:latest
[!NOTE] 除标记为“可选”的参数外,其余均为必填项,需提供值。
容器运行参数格式为 <外部>:<内部>,例如 -p 8080:80 表示将容器内80端口映射到主机8080端口。
| 参数 | 功能 |
|---|---|
-p 3000:3000 | HTTP Flycast桌面GUI端口(需反向代理) |
-p 3001:3001 | HTTPS Flycast桌面GUI端口 |
-e PUID=1000 | 用户ID,详见下文用户/组ID说明 |
-e PGID=1000 | 组ID,详见下文用户/组ID说明 |
-e TZ=Etc/UTC | 时区设置,列表见时区数据库 |
-v /config | 容器内用户主目录,存储本地文件和设置 |
--shm-size= | Flycast运行必需的共享内存大小 |
可通过 FILE__ 前缀从文件设置环境变量:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
此例中,环境变量 MYVAR 的值将取自 /run/secrets/mysecretvariable 文件内容。
所有镜像支持通过 -e UMASK=022 覆盖默认umask设置。umask通过减法调整权限,而非直接设置权限,详情见umask说明。
使用卷(-v 标志)时,主机与容器可能出现权限问题。通过指定用户 PUID 和组 PGID 可避免此问题。确保主机卷目录所有者与指定ID一致。
通过 id your_user 命令获取当前用户的PUID和PGID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
容器运行时shell访问:
bashdocker exec -it flycast /bin/bash
实时查看容器日志:
bashdocker logs -f flycast
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' flycast
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/flycast:latest
更新镜像:
bashdocker-compose pull
bashdocker-compose pull flycast
更新容器:
bashdocker-compose up -d
bashdocker-compose up -d flycast
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/flycast:latest
停止运行中的容器:
bashdocker stop flycast
删除容器:
bashdocker rm flycast
使用相同参数重新创建容器(若卷映射正确,/config 目录和设置将保留)
清理旧镜像:
bashdocker image prune
[!TIP] 推荐使用 Diun 接收更新通知。不建议使用自动更新容器的工具。
如需修改镜像进行开发或自定义:
bashgit clone https://github.com/linuxserver/docker-flycast.git cd docker-flycast docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/flycast:latest .
可使用 lscr.io/linuxserver/qemu-static 在x86_64硬件上构建ARM变体:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后可通过 -f Dockerfile.aarch64 指定架构Dockerfile。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务