前言

又是摸鱼划水的一天,我打开了 Rss 阅读器,试图从互联网中找到一些新鲜有趣的事物。几分钟后,一位少年手指微动,失望地从正在阅读的文章中退出来,似乎这一次并没有汲取到他所中意的东西。

“罢了,这只是无数次探讨中的一次,没什么好伤感的,互联网就是这样的,不是吗?”

少年再次动了动手指,准备退出阅读器。却又忘记了 iOS 反人类的返回机制,进入了一个神秘的熟悉又陌生之地。神秘之门的门牌上赫然写着 Starred,少年略微抬了抬头,眼神中闪过些许兴趣,毕竟他早就忘记了上一次 Star 的文章是什么了。

“一切都是命运石之门的选择!”

少年推门而入,那神秘的大门霎然打开。说时迟那时快,一篇文章纠准了时机跳出来,紧紧抓住了少年的目光。

“好!既然你诚心诚意地跳出来了,那我就勉为其难地点进去吧!”

至于为什么少年会被这篇文章吸引住,就不得不提一嘴这篇文章地标题了——balena:你的树莓派的强力后援聪明如你相信就不需要我多说了吧。

说来惭愧,少年的确是有一个树莓派3B,只是少年的购买动机并没有研究学习 Linux 那么高大上,甚至有一些难以启齿。

少年当初是在高一的时候在学校门口的淘宝店里瞒着家长购入的这块板子,在这个特殊的时期,瞒着家长相信大家都懂了吧。对,我当初买这块板子是为了玩。“动机不纯”对吧哈哈。只是愧于囊中羞涩+看走眼了,本来是打算买3B+的,不知为何到手就成了3B。“行吧,也不是不能用。”少年默念道,当时还被同学嘲笑了一番……

说是玩,其实也只是刷了个 debain,然后在夜里偷偷打开浏览器看看新番罢了。尽管它能干的事情非常有限,但是在少年枯燥乏味的高中生活中无疑添加了一抹亮色。

为什么不买二手手机而是开发板啊?少年如今想到了这个问题,我只能说不觉得这很酷么……他真的很酷。哪个少年没有年少的时期呢?

于是,在少年没有任何电子设备的时期,这块板子陪着少年度过了三个春秋,然后结束了它的使命,开始吃灰养老了。

所以,当少年瞅到这篇文章的时候,心中甚是激动啊。终于能让老伙计见见太阳了。

老伙计

当然得先介绍一下少年的老伙计啦。

image-0
image-1
image-2
image-3
image-4
image-5

整活

整什么活好呢?少年看着 balena Hub 中眼花缭乱的项目陷入了沉思。滚轮一次次的下滑,突然一个项目映入眼帘,少年眼中闪起了光!就决定是它了!

rickroll-fm

少年看着简介,觉得很有意思。顾名思义,这个项目是能把树莓派变成一个小小的电台发射基站然后 7x24 小时播放 Never Gonna Give you up 。少年随即动手下载镜像文件。

balena项目
balena项目

A few hours later...

烧录到 SD 卡插入 pi ,通电开机!几分钟后,屏幕上出现了 balena 的 logo 。

少年直呼轻松暗自窃喜,而正当少年掏出手机打算测试一下收音效果的时候,他发现手机上没有任何能够收音的东西……

“屮!” 少年傻眼了,成功就在眼前却没有设备能够接受成功的喜悦。少年并没有就此放弃,他翻箱倒柜,把家中所有的电子设备甚至他的电子词典都翻了出来。然而,现实又总是这么的残酷。

“好吧,这也是命运石之门的选择吗?” 少年瘫坐在床上,叹了口气。

看来 fm 这条路是行不通了。

Docker

很可惜的是,少年并没有在 balena Hub 找到能够让他眼前一亮的项目了项目实在是太少了。但是他转念一想,既然 balena 不行的话,干脆直接上 Docker 吧!

说干就干,幸运的是,在少年查阅资料的时候,找到了一个开源的树莓派系统包——Debian-Pi-Aarch64。这个包中已经配置好了 Docker 。Lucky!

又是一次烧录,少年选择的是无桌面环境的 plus++ 版本。直接插卡开机,啪!的一下很快啊,屏幕就亮了,芜湖起飞!

这个系统十分方便,即使树莓派没有接屏幕,和他在同一局域网下的电脑也是可以直接直接通过浏览器监控操作的。

pi@raspbian:~$ docker -v
Docker version 20.10.7, build f0df350

kale5/rickroll

有了 Docker ,事情就简单许多了。对于小白中的无人机的少年来说,简单地用一下还是不成问题地。

只是少年似乎对 RickRoll 有什么执念,他很快就找到了图一乐的项目。

新建 docker-compose.yml 文件

touch docker-compose.yml

然后 vim 编辑(吐槽一下它的 Tab 键怎么是八个空格,导致我复制过去格式乱了,还是自己手打的)

version: '3'
services:
rickroll:
container_name: rickroll
image: 'kale5/rickroll:arm64'
restart: unless-stopped
ports:
- '8080:80'

然后退出来运行

docker-compose up -d

等进度条ing……

启动8080端口
docker run -dit -p 8080:80 --name rickroll --restart unless-stopped kale5/rickroll:arm64

over之后看看状态

pi@raspbian:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
246f7e07bc53 kale5/rickroll:arm64 "/docker-entrypoint.…" 3 hours ago Up 3 hours 0.0.0.0:8080->80/tcp, :::8080->80/tcp rickroll

让我康康

ipconfig 看一看 ip 地址

少年打开了浏览器,输入了 192.168.1.10:8080 ,满怀着期待按下了 Enter

然后,见证奇迹的时刻!

当然,少年只是在整活图一乐,要真想实用的话部署个 Nextcloud 做家庭云盘,挂个青龙自动签到脚本也是可以的,毕竟有了 docker 可以整的东西就比较多了。

后记

少年摸了摸钱包,“嗯,放弃内网穿透吧。”


陕ICP备2022011813 | 由又拍云提供CDN加速
| 基于 Stellar 主题
十年之约