Skip to content

Docker 管理 ​

Docker 管理是 MSM 的容器运维工作台,可管理本机 Docker 引擎以及最多三个独立 Agent 子节点。资源页面会随顶部的“管理目标”切换,不同目标的数据彼此独立。

仅管理已授权主机

连接 Docker Socket 或 Agent 往往等同于获得目标主机的高权限控制能力。请仅注册自有或已明确授权节点,不得将 MSM 用于未授权容器、镜像、数据卷或主机的访问与操作。

该模块属于 Pro 功能,并受 系统设置 → 功能开关 → Docker 管理 控制。许可证还需要有效的本机授权证明。

页面顶部固定显示当前管理目标、引擎在线 / 离线状态、引擎版本和最近同步时间,并提供手动连接检查。目标概览与节点列表每 30 秒自动刷新;执行写操作前仍应再核对一次当前目标。

当前两级导航如下:

一级区域页面
概览概览
工作负载容器、应用栈、Compose(仅管理员)
资源镜像、存储卷、网络
监控维护事件、容器更新、系统
节点节点

Docker 权限边界

能够操作 Docker 通常等同于能够控制目标主机上的容器工作负载。只向可信用户开放管理员和操作员角色,并保护 Docker Socket、Agent 凭据和 MSM 管理界面。

用户角色 ​

角色能力
查看者查看资源、状态、事件和详情
操作员查看并执行常规容器 / 镜像 / 网络 / 存储操作
管理员节点注册、凭据轮换、Compose 等高权限管理操作

前端会隐藏无权操作,后端仍会再次校验权限;不能以“按钮可见”作为授权依据。

管理目标 ​

本机 Docker ​

MSM 后端必须能够访问 Docker Engine。常见部署需要挂载 Docker Socket 或配置有效的 Docker Host。

如果概览显示“引擎不可用”:

  • 确认 Docker 服务正在运行
  • 检查 MSM 进程是否有权限访问 Docker Socket
  • Docker 部署检查 Socket 是否正确挂载
  • 刷新管理目标连接状态

挂载 Socket 会给 MSM 很高的主机控制权限,只应在可信环境使用。

独立 Agent 子节点 ​

目标主机只需运行轻量 msm-docker-agent,不需要安装完整 MSM。进入 Docker 管理 → 节点,可选择两种接入方式:

Agent 使用独立构建的镜像,与 MSM 主镜像分开发布。稳定版镜像为 msmbox/msm-agent:latest,也可用 msmbox/msm-agent:<MSM版本> 固定版本。 Beta 版使用 msmbox/msm-agent:beta-latest 或 beta-<MSM版本>; 页面生成的安装命令默认拉取稳定版 latest,使用 Beta 控制端时应选择匹配的 Beta 镜像。镜像支持 Linux amd64、arm64 和 arm/v7,由 msm-wiki 的发布工作流构建。

方式连接方向适用场景
主动回连Agent 主动连接 MSM 控制端子节点不便开放入站端口,推荐优先使用
HTTPS 直连MSM 连接 Agent 地址已有可信 HTTPS 地址和明确网络边界

主动回连 ​

  1. 在控制端创建一次性接入令牌
  2. 填写控制端 URL 和子节点名称
  3. 在子节点按页面生成的命令运行 Agent
  4. 等待控制端显示节点在线
  5. 从管理目标切换到该节点验证资源

令牌文件应使用 0600 权限。Agent 完成注册后会使用独立凭据建立多路回连,不需要把监听端口暴露到公网。

HTTPS 直连 ​

  1. 在子节点准备受信任的 TLS 证书
  2. 启动 Agent,并仅开放所需端口
  3. 生成一次性接入令牌
  4. 在 MSM 填写节点名称、HTTPS Endpoint 和令牌
  5. 注册后立即检查节点状态

生产环境默认要求可信 HTTPS。允许明文 HTTP 的开发开关只用于本机联调,不应进入生产配置。

页面地图 ​

概览 ​

显示当前目标的引擎状态、容器健康、镜像 / 网络 / 存储规模、资源趋势、磁盘占用、最近容器和常用操作。所有统计都只针对当前管理目标。

容器 ​

  • 搜索、状态筛选、表格 / 卡片视图和批量操作
  • 启动、停止、重启、暂停、重命名和删除
  • 查看日志、资源统计、进程、环境变量、挂载和网络
  • 按权限使用终端、脚本与文件工作区
  • 创建新容器并设置端口、卷、环境变量、网络和资源限制

终端、脚本、文件写入和特权容器属于高风险操作。执行前确认当前管理目标和容器名称。

镜像 ​

  • 拉取、搜索、导入、导出、打标签和删除
  • 查看架构、摘要、层、环境变量和入口命令
  • 从镜像创建容器
  • 清理未使用标签、镜像和构建缓存

存储卷 ​

  • 创建和查看卷、驱动、挂载点及关联容器
  • 区分使用中与未使用卷
  • 删除或清理前检查容器依赖

网络 ​

  • 创建 bridge、macvlan 等网络
  • 配置子网、网关、地址池和父接口
  • 连接或断开容器
  • 查看网络、容器和地址池关系

系统网络和仍连接容器的网络会阻止危险删除。macvlan 创建前应先验证父接口、子网和网关。

应用栈 ​

  • 从 YAML 或模板创建 Stack
  • 保存前验证 Compose
  • 部署、启动、停止、重启和删除托管 Stack
  • 查看服务、容器、日志和当前 YAML
  • 外部 Stack 以只读信息为主

Compose ​

Compose 是管理员专用工作区,用于直接校验和执行 Compose 管理操作。它与“应用栈”列表相关但权限更高;普通应用启停优先从应用栈进入,只有确认当前目标与 YAML 内容后再使用 Compose 工作区。

事件与系统 ​

  • 事件:按资源类型查看 Docker 实时事件
  • 系统:查看 Engine、OS、架构、存储驱动、运行时和磁盘占用
  • 更新检查:检查容器镜像是否有可确认的更新
  • 清理:回收未使用资源;涉及卷时再次确认数据风险

节点凭据与生命周期 ​

  • 一次性令牌有有效期且只能使用一次
  • 控制端加密保存节点凭据,Agent 端只保存所需摘要或运行材料
  • 节点失联时先刷新健康状态,不要立即删除重建
  • 怀疑凭据泄漏时使用管理员操作轮换凭据
  • 删除节点只移除控制关系,不等于删除目标主机上的容器资源

常见问题 ​

切换目标后数据看起来不对 ​

先查看顶部当前管理目标和最近同步时间。每次目标切换后等待连接检测与资源刷新完成。

Agent 在线但部分操作失败 ​

  • 检查当前用户角色
  • 确认 Agent 能访问 Docker Socket
  • 查看响应是否提示目标能力不足
  • 检查请求超时、响应大小限制和节点网络质量

清理会删除哪些内容? ​

清理范围取决于确认对话框中的选项。默认只处理 Docker 判断为未使用的资源;勾选卷会增加数据丢失风险,执行前应备份。

下一步 ​