Files
StudyDiary/60-Imports/64-AI/要在Docker中运行或打包儿时的经典游戏(如红白机、街机、.md
T
2026-07-23 20:36:13 +08:00

2.7 KiB
Raw Blame History


要在Docker中运行或打包儿时的经典游戏(如红白机、街机、DOS游戏等),通常需要通过模拟器来实现。以下是几种方法和资源,帮助你找到或创建这类Docker镜像:


1. 现成的游戏模拟器Docker镜像

一些开发者已经将游戏模拟器打包成Docker镜像,并预装了游戏ROM。你可以在以下平台搜索:

  • Docker Hub

  • 搜索关键词:retroarchdosboxmamenestopiaNES模拟器)、ppssppPSP模拟器)等。

  • 示例镜像:

  • dolphin-emuGameCube/Wii模拟器)

  • retroarch/retroarch(多平台模拟器前端)

  • jamesnetherton/docker-retroarch(带Web界面的RetroArch

  • GitHub 一些开源项目提供定制化的游戏模拟器Dockerfile,例如:

  • RetroPie-Docker

  • docker-arcade(基于MAME的街机模拟器)


2. DIY:自己构建Docker镜像

如果想完全自定义游戏列表,可以基于模拟器手动构建镜像:

示例:使用DOSBox运行经典DOS游戏

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y dosbox
COPY ./games /games  # 将游戏ROM(如仙剑奇侠传、大富翁等)放入/games目录
CMD ["dosbox", "/games/play.bat"]

示例:使用RetroArch(多平台模拟器)

FROM alpine:latest
RUN apk add retroarch --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing
COPY ./roms /roms  # 放入NES、SNES等ROM文件
CMD ["retroarch", "-L", "/usr/lib/libretro/nestopia_libretro.so", "/roms/super_mario.nes"]

3. 注意事项

  • 法律风险:游戏ROM的版权属于开发商,Docker镜像中不能直接包含有版权的ROM。建议自行提供合法ROM文件(如自己拥有的游戏备份)。

  • 性能需求:3D游戏(如PS1、PSP)需要硬件加速,可能需要额外配置Docker的GPU支持(--gpus all)。

  • 前端界面: 如果需要图形界面(如RetroArch的UI),可以通过以下方式访问:

  • 映射X11 socket-v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY

  • 使用VNC/Web界面:如accetto/ubuntu-vnc-xfce镜像+模拟器组合。


4. 推荐工具链

  • 轻量级方案:单独模拟器(如dosboxmednafen+ 自定义ROM目录。

  • 全平台方案RetroArch + 多个核心(cores)支持不同平台。

  • 街机方案MAMEFinalBurn Neo镜像。

如果有具体游戏平台需求(如只想玩FC或GBA),可以进一步缩小工具选择范围。