前言

平时打开极空间,看到的基本都是照片、电影、备份和 Docker 容器。但如果有一天,在浏览器地址栏里输入 NAS 的 IP 和端口,出来的不是管理后台,而是一张熟悉的《超级马里奥》游戏画面,这台 NAS 的感觉一下就不太一样了。

这次折腾其实没有改动极空间本身的主要功能,而是利用它已经具备的 Docker 环境,额外运行一个网页版经典游戏容器。通过 SSH 进入极空间后拉取对应镜像,再将容器内部的 8080 端口映射到 NAS 的 5000 端口,浏览器就可以直接进入游戏页面。

也就是说,游戏真正运行在家里的极空间上,而电脑、平板等设备更多只是通过浏览器打开这个 Web 服务。

本文会从 SSH 登录、检查 Docker 开始,把镜像拉取、容器启动和本地访问流程完整跑一遍。局域网测试正常以后,再通过 cpolar 将 5000 端口增加一个公网访问入口,并继续配置固定二级子域名。

它当然不会因此把极空间变成专业游戏主机,但对于一台原本全天开机的 NAS 来说,偶尔多跑一个这样的怀旧小服务,也算是 Docker 很有意思的一种玩法。

image-20251024144624698

1.在极空间部署童年游戏马里奥

1.1ssh远程连接到极空间

  • 开启【SSH 服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:
ssh root@IP

没有ssh的小伙伴可以去cpolar官网参考这篇文章:

《极空间别再吃灰了!开启SSH,秒变全能服务器!》

957c00e3b3f0ce8aa95df96aa41b8715

1.2验证docker是否开启

使用命令:

docker -v 
systemctl status -v

没有docker的小伙伴可以参考这篇文章:《[极空间开箱实录:从拆箱到远程访问保姆级教程,30分钟上手!》

image-20251017103712618

1.3安装马里奥

拉取超级马里奥镜像:

docker pull registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:mario

运行超级马里奥容器:

docker run -d -p 5000:8080 --name mario --restart=always registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:mario

验证容器状态:

docker ps -a

image-20251024144807602

部署完成后,在浏览器中输入 http://极空间IP:13378 就能看到马里奥的界面:

image-20251024144828968

跟小时候玩的完全一样~隐藏技能都一样!

image-20251024145425872

2.安装cpolar实现随时随地玩游戏

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

e464b045413a024674a93ea472511b0f

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

aa03713b56d9eef12a4da6b99d2e46ac

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

3af79ad708cc47c5bbea0b63c2c7230d

3.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:mali,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:5000
  • 域名类型:随机域名
  • 地区:选择China Top

image-20251024152340416

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20251024152407453

访问成功。

image-20251024152437553

4.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是malii,大家可以自定义。填写备注信息,点击保留。

image-20251024152603177

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20251024152620810

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20251024152654625

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20251024152719803

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20251024152750459

这样我们就可以,随时随地畅玩啦!

总结

这次折腾最有意思的地方,并不是证明极空间“也能打游戏”,而是看到 NAS 上的 Docker 环境还能承载一些完全不同于存储和备份的轻量应用。

一个现成的网页游戏镜像启动以后,极空间负责持续运行容器,其他设备只需要通过浏览器进入对应端口,就能打开游戏页面。整个过程和部署普通 Web 服务其实没有本质区别,只是这次浏览器里出现的不是管理系统,而是熟悉的马里奥。

通过 cpolar 给本地 5000 端口增加公网入口以后,这个页面还可以继续从外部网络访问;如果准备长期保留,再配置固定二级子域名即可避免访问地址频繁变化。

当然,本文实际验证的是这一款现成 Docker 游戏容器,并不是一套完整的红白机 ROM 管理平台。后续如果真的想把 NAS 做成更完整的怀旧游戏库,还需要继续考虑模拟器、游戏文件管理、手柄支持以及存档等问题。

但仅从这次实践来看,它至少说明了一件事:NAS 24 小时开机的价值,并不一定只能体现在“存东西”上。偶尔给它安排一点没那么正经的任务,也挺好玩。

更多推荐