内网系统部署别再逐个起容器:群晖 Container Manager 项目功能,用 compose 文件统一编排
内网系统部署别再逐个起容器:群晖 Container Manager 项目功能,用 compose 文件统一编排
在内网 NAS 上跑开源系统的企业越来越多:工单登记、知识库、资产管理,动辄三五个容器起步。逐个建容器、手工配依赖的搞法,装完那天能用,三个月后没人说得清当时点了什么。Container Manager 的「项目」功能就是治这个的:把一组容器写进一份 docker-compose.yml,当成一个整体来创建、启动、停止和清除。贵州诚鑫致达科技在 NAS 上交付容器化应用时,标准做法就是全部走项目,不留散装容器。
什么场景用它最值
一是多容器应用:一个系统拆成应用、数据库、缓存好几个容器,靠 compose 文件描述清楚相互关系,一次建齐。二是要留档的部署:compose 文件本身就是部署文档,换一台 NAS 照着文件就能重建。三是需要反复操作的运维:构建、启动、停止、清除在界面上各是一个动作,语义与 docker-compose 命令一一对应,不碰命令行也有章法。
操作步骤
-
进入 Container Manager > 项目,单击创建启动向导,先填常规设置:项目名称、路径,来源选择上传已有的 docker-compose.yml,或直接在编辑器里现场编写。为什么:路径是项目的工作目录,配置和数据尽量落在规划好的共享文件夹下,别散在默认位置;「上传或编写」两条路对应两种团队分工——标准模板提前备好现场上传,小改动在编辑器里改。
-
确认设置摘要,单击完成,并在向导结束时选择是否立即启动项目。为什么:摘要页是最后一道核对,端口、卷映射在这里过一眼,能挡住大部分手误;先建后启还是建完就跑,取决于你是否要先检查 YAML。
-
学会用动作菜单:选中项目后单击动作(或右键单击项目),构建对应 docker-compose up –build –no-start,启动对应 start,停止对应 stop,重新启动对应 restart,清除对应 down。为什么:这套语义必须分清——停止只是让容器停下来,下次启动无需重建;清除会把 compose 文件创建的容器、网络、存储空间和映像一并移除,是推倒重来的量级,点之前要想清楚。
-
日常盯状态看详细信息:容器页看项目里每个容器的信息,统计数据页看整个项目的 CPU、内存与网络占用。为什么:多容器应用排障先分清是哪个容器的事,统计页把项目当一个整体看资源水位,比逐个容器翻省事。
-
改配置走 YAML 配置页:用编辑器修改 docker-compose.yml,再用新设置部署项目。为什么:升级、改端口、加环境变量都在文件上改,改完原地重新部署;文件留档,改动有迹可循,这正是项目方式优于散装容器的核心。
-
需要网页访问的应用,可通过 Web Station 启用网页门户来访问项目。为什么:门户把端口和入口管理收敛到统一的地方,不必让使用者记 IP 加端口号。
三个必须知道的边界
- 清除动作会移除容器、网络、存储空间和映像;删除更是删掉项目的所有容器和数据,两者都不是「重启一下」。
- 启动之前需要先完成构建,全新项目第一次要走的动作是构建。
- 项目里容器间的关系和顺序由 compose 文件定义,界面动作只是执行者,文件写错界面救不回来。
容器化部署的秩序,说到底是把「当时怎么装的」从某个人的记忆里搬进文件里。compose 文件管版本、动作菜单管生命周期、统计页管水位,一套下来,内网系统的部署才谈得上可复制。