威联通Container Station全功能详解——玩威联通docker,看这一篇就够了
本文最后更新于 2024-06-28,文章内容可能已经过时。
大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~
前言
Cherry到手威联通TS-464C2已经有大概5、6天了,这几天除了在上班,大部分时间都是在研究威联通的新系统。不得不说,这次的5.2系统,升级后的功能是真的丰富,不论是新增加特性,或者是更新的套件版本,都极大的丰富了系统可用度。
TS-464C2的硬件之前其实都介绍过了,作为品牌旗舰机,是TS-464C的升级款,N5095cpu,4核4线程,4盘位+2个M.2 NVME 扩展,标配8G内存(DDR4,最高支持到16G内存扩展),相比于TS-464C而言,TS-464C2支持的内存扩容使得我们可以部署更多的应用和服务,满足更大的折腾需求。
今天,我们不来讨论硬件,具体来介绍一下威联通5.2系统中的各个软件使用。要知道,威联通作为沉浸NAS市场20年的老品牌,在科技不断进步的现代社会背景下,依旧能牢牢把握住NAS家用和商用场合与需求,不断迭代升级新系统以满足市场不断的变化需求,真的是太厉害了。
就以虚拟化容器场景为例吧,威联通全新升级的Container Station 3.0(容器工作站3.0),首个支持LXD、Docker、Kata三种虚拟化技术聚合,让用户可以根据不同的使用场景,选择不同的虚拟化技术,全面提升了用户使用体验,增加软件容器执行效率,让容器玩法更上一个台阶。
那么下面,Cherry也从一个docker博主的角度出发,为大家详细讲解Container Station 3.0(容器工作站3.0)的每一个功能。全文共将分10个部分,按照我们对容器的认识先后进行,也是为了引导大家逐步加深对Container Station 3.0(容器工作站3.0)的理解,帮助大家更好的折腾docker。
如果对docker还不是特别了解的,可以看看Cherry之前发布的两篇关于docker,docker-compose的文章,这里不再赘述。这里还有一个小点,就是关于LXD和docker的区别,一般来说LXD是针对系统层级的虚拟机,可以理解为轻量级的虚拟机,而docker则是应用虚拟化,更像是一个软件。
🔻目录
功能点1:存储库
功能点2:镜像管理
功能点3:卷管理
功能点4:容器管理
功能点5:应用程序
功能点6:应用程序模块
功能点7:K8S
功能点8:概览
功能点9:事件日志
功能点10:偏好设置
功能点1:存储库
存储库即为我们常说的镜像库,指的是我们下载docker,LXD镜像的来源,可以理解为下载手机app的商城地址。在威联通容器工具站中,默认了docker存储库为hub.docker,LXD存储库为images.linux。在Docker Hub中,容器工作站给出了可视化的账号登录方式,通过登录Docker hub账号,我们可以下载一些需要身份验证的容器镜像。
在自定义存储库功能中,我们可以添加一些第三方的docker、lxd镜像站,这让国内一些网络不好的朋友也可以轻松玩耍容器。下面给大家推荐几个国内常用且好用的镜像站,左边是国内站点url(注意添加https://),右侧是对应的外网镜像库地址
hub.mirror.c.163.com->docker.io
dockerproxy.com->docker.io
docker.m.daocloud.io->docker.io
gcr.lank8s.cn->gcr.io
gcr.m.daocloud.io->gcr.io
ghcr.m.daocloud.io->ghcr.io
功能点2:镜像管理
镜像首页,对所有镜像有一个列表展示,支持从镜像直接启动容器,包括导出、删除、推送到存储库等功能。
🔻检测,等同于inspect指令,将image信息展示
🔻容器正在使用中,实际是查看使用该镜像的容器有哪一些。
🔻这里最值得一提的功能,就是推送到存储库功能 ,应该是可视化docker中独一份,支持将自己生成的镜像推送到指定的存储库供其它人下载使用。但是前提是你进行了身份验证,并且前缀和你的账号相同。
🔻镜像提取,表示从存储库下载我们需要的镜像。比如我们需要下载这个Lucky项目,镜像这里填写的就是【gdy666/lucky】(作者/镜像名)
可以看到,刚才我们添加的自定义镜像也体现出来了,这样访问github的镜像库速度也会很快。
而高级模式,则支持直接从未在自定义存储库添加的镜像源,比如【ghcr.io/ihaskell/ihaskell-notebook:latest】(镜像源/作者名/镜像名:版本号)
🔻镜像导入,表示从本地电脑导入特定镜像,用于生成容器,一般是解决离线场景,或者自生成镜像场景。
功能点3:卷管理
卷是容器中的文件存储方式,在docker中,有bind(绑定)和卷两种模式,bind模式即文件映射,将NAS路径映射到容器内,卷模式可以理解为LVM,NAS自动生成一个虚拟存储,并供容器使用。不论是卷还是bind,都支持和容器的1对多。
🔻卷模式下,我们可以看到每一个卷的【挂载点】,通过ssh指令我们可以轻松找到实际的文件路径,并对内容进行增删改查。
🔻当然,我们也可以通过威联通的【文件管理器】找到这个路径,不过因为是docker,需要root权限才可以访问。
🔻检测,同样等同于inspect,显示卷详细信息
功能点4:容器管理
第一部分:页面介绍
这个是docker的核心功能,用于管理单个容器使用。前文说到,我们可以使用镜像直接生成容器,也可以单独生成容器。
🔻容器核心页面,选择一个容器后,会展示它的基础信息、日志、性能等,一目了然。功能菜单里支持启停删改,【检测】查看inspect状态,【执行】表示运行某个指令,【连接】表示登录容器后台并执行ssh操作,【创建映像】表示将该容器打包为一个image镜像,【导出】表示导出容器为tar格式包。
🔻点击容器的名字(蓝色链接),我们可以进到容器详情页。功能和列表上是一样的,无非就是展示方式不同而已。
第二部分:新建容器
新建容器的方法有两种,一种是完全新建一个,另外一种则是导入。
🔻先说导入,将.tar格式的容器压缩包直接导入生成容器,与刚才容器导出功能相呼应,比较简单,就不多说。
🔻再说创建容器
第一步是选择镜像,如果我们没有下载容器镜像的,可以在创建的时候直接填写对应的镜像名称,如果是从镜像创建的,第一页则是灰色无法更改。
第二部是配置容器,威联通配置容器的时候默认采用卷模式,如果是简单的容器,我们只要一直下一步就可以了。对于复杂一点的容器,需要打开【管理设置】,具体功能如下,这个不展开讲了,因为涉及每个容器不同,一般容器部署的时候会告诉你需要设置哪些东西,这里就说一个大概。
【命令】——容器运行启动时候的命令,特别针对一些一次性的容器
【网络】——更深度的网络功能,比如vlan等
【环境】——环境变量,根据项目设置,用于启动一些功能和配置
【标签】——家用主要也就实现容器联动,例如watchertower的更新标志等
【存储】——使用bind模式映射NAS文件和文件夹
【运行时】——开启特权模式和设备使用权限,比如硬解
【资源】——限制cpu、内存使用
功能点5:应用程序
应用程序其实就是我们所说的docker-compose,用来管理多个容器组成的一个项目。在威联通容器工作站中,我们可以通过填入/读取/上传docker-compose.yml文件来实现创建一个应用程序(compose)。
🔻整体界面,威联通compose提供了【验证】功能,可以确保我们填入的compose.yml代码是切实可用的。
🔻高级功能里,则提供了一种将应用程序通过web服务访问的方法,一般用不上,可以不用打开。
🔻在应用程序里新建的compose,在我们的容器管理里可以看到具体的容器,因为应用程序是由1个或多个容器组成的项目集合。因此也支持对单独容器进行操作。
功能点6:应用程序模板
威联通的应用程序模板有点类似于群晖的矿神平台,通过将多个【compose.yml】转换成对应的【.json】格式文件,然后可以在应用程序模板处直接安装,这意味着我们可以使用互联网上分享的模板,从而不必自己来安装调试docker应用。
从图里可以看到官方提供了11个模板,包含LXD、容器、compose应用。
第一部分:书写模板
在这里有官方提供的示例,可以根据实际情况进行修改。
static.myqnapcloud.com/container-station/templates/templates.json
🔻以下是一个单容器示例,将代码保存为【name.json】,名字自己定义。
{
"version": "2",
"templates": [
{
"type": 1,
"title": "mtphotos",
"sub_title": "1.29",
"description": "MT photos是一款收费的闭源相册管理软件",
"name": "docker-mtphotos",
"version": "1.29.3",
"logo": "/Web/json/mtphotos.png",
"location": "https://hub.docker.com/r/mtphotos/mt-photos",
"platform": "linux/amd64",
"categories": [
"收费软件"
],
"image": "mtphotos/mt-photos:latest",
"tty": true
}
]
}
🔻json文件支持compose、lxd、container模式,type分别对应3,10,1。详细的配置参数我这里就不写了,在官网都可以看到。如何在 Container Station 3 中配置并部署自定义应用程序模板? | QNAP
第二部分:添加应用模板并部署应用
首先打开【控制台】,选择【Web服务器】并开启
然后我们将需要用的png,json,yaml等文件全部放在某个目录下,这个位置可以自己决定
然后,回到【容器工作站】,打开【偏好设置】,选择【应用程序模板】,填入URL
最后,我们打开【应用模板程序】-【自定义模板】就可以看到自己定义的模板了,点击部署就可以启动容器了,点击蓝字可以转跳到对应的网站。
功能点7:k8s
威联通的k8s目前只支持k3s轻量级单节点集群。新建完成以后,会有一个“admin-user”的默认管理员用户用于登录k8s管理页面。
这个功能是不懂的人用不到,用得到的人不用讲。因此Cherry就不展开介绍了,家用是肯定用不到的,当它不存在即可。
🔻通过上个页面生成的URL和token,可以登录K8s管理页面,支持配置和API使用。
功能点8:概览
这个页面是容器管理的一个仪表板,具体展示了基础信息,还是比较一目了然的。
功能点9:事件日志
事件日志是容器管理器的操作日志,可以看到信息、预警、错误三个层级的消息,这个可以结合我之前发过的消息推送文章推送到微信上。这里支持内容搜索和下载。
功能点10:偏好设置
偏好设置包括【网络】、【应用程序模板】、【证书】、【反馈分析】几个功能。
🔻网络,主要设置lxc、lxd、docker-bridge的默认网络子网信息。没啥用途,就是你自己想改一下喜欢的子网就更改一下。
🔻【证书】功能是为了给docker远程访问使用的,要知道docker是支持proxy远程管理的,所以就配置了这个证书,家用肯定是用不了了,这里主要是配置自定义域名使用。
总结
不得不说,威联通的Container Station(容器工作站)是Cherry看到最强大的可视化容器管理工具了,没有之一。不管是常用的还是不常用的,统统都在界面上进行了体现,可以说使用这个工作站,基本上就不需要操作SSH了。
不过可惜的是,威联通的应用程序模板似乎使用的人不多,如果能好好建设这个社区平台,相信能为广大威联通用户提供足够便利、高效的应用商城平台。