这两天又折腾了一下之前的 Docker 项目——老友 Linux 轻量远程桌面。
这个项目最初是为了给自己准备一个可以通过浏览器访问的 Linux 图形桌面环境。基于 Debian、XFCE、TigerVNC 和 noVNC,配上 Firefox、Mousepad 和中文输入法,平时可以用来临时浏览网页、测试程序,或者在 VPS 上处理一些简单的事情。
豆子的想法一直比较简单:自己使用的东西,尽量掌握在自己手里。与其完全依赖别人制作好的镜像,不如自己维护 Dockerfile,慢慢把环境搭建起来。功能不必太多,够用、稳定、方便维护就好。
从 ARM64 到 AMD64
之前,ARM64 版本已经有了经过实际测试的稳定基线:0.6.3。
这次又在另一台 AMD64 架构的 VPS 上,把同一套项目源码重新构建了一遍。
虽然使用的是相同的 Dockerfile 和启动脚本,但不同架构还是需要分别构建、分别测试,不能因为一个版本运行正常,就认为另一个版本也一定没有问题。
经过实际测试,AMD64 版本的桌面能够正常启动,noVNC 可以通过浏览器访问,Firefox 和 Mousepad 运行正常,中文界面、中文文件名以及中英文输入也都完成了验证。容器重启之后,桌面和输入法服务同样能够正常恢复。
至此,两个架构都有了各自独立的稳定基线:
两个版本分别构建、分别发布,不互相覆盖。对于豆子这样的个人项目来说,这样管理起来更清楚,也方便以后遇到问题时回退。
把成果真正保存下来
镜像能够运行,只是第一步。
如果源码没有保存好,使用说明没有写清楚,过一段时间再回来维护,可能连当初是怎么搭起来的都要重新回忆一遍。
所以,这次还把 GitHub 上的 README 重新整理了一遍,将两个架构的镜像标签、获取方式、容器创建方法、浏览器访问、SSH 隧道、安全注意事项和版本管理策略都补充进去。
文档修改完成后,使用 Git 提交并推送到了 GitHub,提交记录为:
f7647a6 docs: document ARM64 and AMD64 stable images
随后,又将相同的说明同步到了 Docker Hub。
这样一来,GitHub 负责保存项目源码和版本记录,Docker Hub 提供已经构建好的镜像及使用说明。两边各司其职,今后查找和维护都方便一些。
过程中也有一点小插曲
更新 README 时,查看 Git 差异的终端界面停在了 (END),一开始还不知道怎么退出,按 Ctrl+C 也没有反应。
后来才想起来,这是 Linux 里常见的 less 分页查看器,按一下 q 就可以退出。
一个很小的问题,却也算是这次折腾中的一个小插曲。
整个过程比想象中顺利。没有为了更新文档重新构建镜像,也没有去碰已经确认稳定的版本。该测试的测试,该保存的保存,该记录的记录。
暂时告一段落
现在,ARM64 和 AMD64 两个版本都已经完成了构建、测试和发布,GitHub 与 Docker Hub 的说明也同步更新完毕。
接下来暂时不打算继续增加功能。
豆子一直觉得,个人项目没有必要一味追求复杂。功能越多,维护的负担往往也越大。能够满足自己的实际需要,运行稳定,源码在手,版本有记录,出了问题知道怎么恢复,就已经很好了。
这次折腾,算是了却了一桩心事。
先把这两个稳定版本保存好,让它们安安稳稳地待着。等以后真正有需要,再考虑下一步。
折腾技术,有时候不只是为了获得一个能用的工具,也是为了把一件事情从头到尾做好,然后安心地放下。
能用、可靠、可恢复。对豆子来说,这就够了。



