Docker部署太麻烦?安装开源项目Yantr,打造专属App Store
近年来,随着高性能NAS的普及,越来越多的玩家开始在NAS上折腾各种Docker服务。
然而,面对繁杂的端口映射和环境变量配置,即便已经有更为简单的Docker Compose代码辅助,也会让不少新手小白望而却步。
那么,有没有像是手机上的App Store一样,能实现图形化一键安装Docker、又不用修改NAS原有系统的方案呢?
有的兄弟,有的。
今天咱们要介绍的Yantr,就是这么一款免费的开源项目。

一、Yantr是什么?
Yantr是一款极简的跨平台自托管Docker应用商店,它的特色在于:
纯Docker运行,不需要重装或修改NAS系统,仅仅作为NAS上的一个普通Docker容器运行,不喧宾夺主,随用随开,随删随走,无惧残留。
海量应用一键装,内置了 130 多款主流的开源 Docker 应用,全程图形化操作管理,下载和更新、卸载都和App Store一样简单。
无状态安全机制,默认不将账号密码写死在本地硬盘,而是采用独特的公钥(Public Key)来验证身份,安全性极高。

二、NAS部署Yantr流程
这里我们来展示如何在威联通NAS上使用Docker形式部署EasyTier,用到的设备是威联通最新的8盘位旗舰型号Qu805。

这里飘雷比较推荐大家使用Docker Compose的方式来部署,一键复制粘贴代码即可,参数修改清晰可见,非常方便。

打开威联通 Container Station,点击左侧的「应用程序」,然后点击右侧黑色「创建」按钮,输入以下代码:
services:
yantr:
image: ghcr.io/besoeasy/yantr:latest
container_name: yantr
# 强制使用 host 网络,不能使用 ports 端口映射,否则 Yantr 无法接管和分配后续安装的其他应用的端口
network_mode: "host"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# 前面是威联通的实际路径,后面是容器内路径。没有这行,Yantr 无法保存其他应用的数据
- /share/Container/container-station-data/lib/docker/volumes:/var/lib/docker/volumes
restart: unless-stopped
耐心等待NAS拉取镜像并部署完成后,可以在Container Station中看到正在运行的应用程序和容器:

三、Yantr使用演示
因为我们在部署Yantr时候使用了host网络,Yantr 默认会占用宿主机NAS的5252端口,在浏览器输入http://:5252(例如 http://192.168.10.70:5252),就能进入欢迎界面。

这里注意,Yantr没有初始默认账号密码,所以首次进入界面时,我们需要先创建身份:
Username:输入你喜欢的任意用户名。
Password:设置你的登录密码。
PIN:类似手机的解锁短码,可留空,默认是 0000。
填写完毕,点击“Create identity”即可完成创建。

正式进入Yantr主界面后,首先可以看到本机上已经存在的Docker应用,以及本机状态等图表。


点击左侧的应用按钮,就可以看到Yantr目前内置的137款热门Docker应用了,右侧是清晰的应用分类列表。

看到心仪的应用,这里以Transmission为例,只需要点击右下角的「安装应用」,Yantr就会自动在后台拉取镜像、分配端口、配置数据目录,彻底告别了手敲代码的痛苦。

有意思的是,像是用户名与密码、端口映射等常用配置选项,在这里也可以一步到位进行自定义。同时我们也可以选择临时安装模式,让给Docker应用设置到期时间,过期后就能自动删除,比较适合测试用途。

稍等一会,我们就能在Yantr的本机Docker列表中发现我们刚才安装的Transmission。点击进去后,我们就可以像在手机上使用App Store一样,进行更新、删除和直接打开等操作。

直接打开就能正常使用新安装的Docker,啥毛病都没有:

总结
总的来说,Yantr最大的特色有两点:
其一是纯粹的非侵入性,不需要接管或修改咱们的NAS底层系统,仅仅作为一个Docker容器运行。

其二就是功能上实现了化繁为简,内置了130多款常用Docker项目,让我们在安装Docker时不需要考虑复杂的配置过程。即便是新手,也能像安装手机APP一样轻松部署和使用Docker,是一个非常高效方便的本地Docker管理中心。

以上就是本期的全部内容,如果大家在部署过程中遇到什么问题,欢迎在评论区留言交流,也欢迎给飘雷来个点赞、收藏加关注三连击,我们下期再见!
