Skip to content

Docker 管理 ​

通过 Docker 套接字管理宿主机上的容器、Compose 项目、镜像、网络与卷。入口为侧边栏「Docker」,页面分为「容器」「Compose」「镜像」「网络」「卷」「系统」六个标签页。无法连接 Docker 时,页面顶部显示错误详情和打开设置的快捷按钮。

启用方式 ​

Gately 运行在容器中时,挂载宿主机的 Docker 套接字:

bash
-v /var/run/docker.sock:/var/run/docker.sock

Docker 地址默认为 unix:///var/run/docker.sock,可在「系统」标签页的设置中修改。

安全提示

挂载 docker.sock 等同于授予宿主机 root 级权限。不需要 Docker 管理时请去掉该挂载,并保护好管理界面(两步验证、安全入口、仅内网访问)。

容器 ​

  • 列表可按「全部」「运行中」「已停止」筛选,卡片显示镜像、网络、端口、挂载与更新状态;
  • 操作:启动、停止、重启、暂停、恢复、强制终止、重命名、删除(可同时删除匿名卷)、提交为镜像;
  • 自身保护:Gately 识别自己所在的容器与 Compose 项目,停止、强制终止、暂停、删除容器以及对所在项目执行 down 等会让自己无法访问的操作会被拒绝。
  • 新建与编辑:表单覆盖名称、镜像(可创建前先拉取)、创建后启动、命令与 Entrypoint、环境变量、端口映射(TCP/UDP,可指定宿主 IP)、挂载(目录 bind 与卷 volume,可只读)、主网络与额外网络、固定 IP、别名、重启策略(no、always、unless-stopped、on-failure 及最大重试次数)、特权模式、添加或移除能力、设备映射、用户、工作目录、主机名、DNS、标签、内存上限(MB)、CPU 核数、TTY 与保持 stdin。编辑时以原容器配置为基础重建,表单未覆盖的配置项保留原值,重建失败自动回滚;
  • 详情页标签:
    • 概览:状态、退出码、重启次数、健康状态、网络详情、挂载、所属 Compose 项目与服务;
    • 日志:查看最近日志,可显示时间戳;
    • 终端:在运行中的容器内打开交互终端(默认 /bin/sh,可指定命令与用户,配色与 Web 终端的偏好一致);
    • 文件:浏览容器内文件,在线编辑文本(最大 1MiB),上传、下载(目录打包为 tar.gz)、重命名、新建目录、删除;删除通过容器内 rm -rf 完成,容器需处于运行状态;
    • 监控:CPU、内存、网络与磁盘 IO、进程数的采样,以及容器内进程列表。

Compose ​

Compose 项目由容器标签 com.docker.compose.project 等聚合得到,显示状态(运行中、部分运行、已停止)与各服务。

  • 启动、停止、重启、暂停、恢复、down(可同时删除命名卷)、查看汇总日志(每行加服务名前缀);
  • 新建项目:粘贴 compose 内容,Gately 写入配置目录 compose/<name>/compose.yaml 并执行 up,此类项目标记为「managed」,可编辑 Compose 文件、保存并应用,也可删除整个项目;
  • 对已有项目可在线编辑第一个 compose 文件(文件需可写),并选择写回后立即 up;
  • up、拉取镜像、构建以及文件读写依赖 docker compose 命令行与对 compose 文件路径的访问,不可用时界面提示「未检测到 docker compose 命令」。

镜像 ​

  • 列表显示标签、大小、创建时间、被引用的容器数与悬空状态,详情包含层历史、环境变量、暴露端口等;
  • 拉取:按「系统」设置里的仓库账号认证,直接拉取失败且配置了镜像加速地址时依次尝试,并重新打标签为原名;支持搜索 Docker Hub;
  • 推送、添加标签、删除(可强制)、构建(内联 Dockerfile 或 Git 地址,可带构建参数)、导入与导出 tar(docker save 格式);
  • 更新检查:单个容器检查或「检查全部更新」,结果标记在各容器上;
  • 一键升级:拉取新镜像后重建容器,沿用原配置;升级失败自动回滚到原容器。支持多选批量升级;
  • 「清理悬空」一键删除无标签且未使用的镜像。

网络与卷 ​

  • 网络:列表显示驱动、范围、子网、网关与接入的容器,可创建(驱动、子网、网关、内部网络、IPv6)、删除,容器可接入或断开网络,内置网络受保护;
  • 卷:显示驱动、挂载点、大小、引用数与使用它的容器,可创建、删除(可强制)、导出为 tar.gz、从 tar.gz 导入。导出和导入借助临时 alpine 辅助容器完成,镜像缺失时自动拉取。

系统 ​

「系统」标签页包含:

  • 主机与 Docker 信息:版本、API 版本、系统与架构、内核、CPU 与内存、存储驱动、数据目录、容器与镜像数量、Compose CLI 版本;
  • 磁盘占用:镜像、容器、卷与构建缓存的数量、大小与可回收量;
  • 清理:已停止容器、悬空镜像、全部未使用镜像、未使用网络、未使用卷(数据永久丢失)、构建缓存;
  • 设置:
字段说明
hostDocker 地址,默认 unix:///var/run/docker.sock
mirrors镜像加速地址列表,直接拉取失败时依次尝试;与 /etc/docker/daemon.json 的 registry-mirrors 相互独立,后者由 Docker 自动使用,并在设置页以「守护进程加速」只读显示
registries私有仓库登录信息(server、username、password),密码在界面中脱敏
autoCheckHours大于 0 时按该小时间隔自动检查容器镜像更新,0 表示关闭

后台任务 ​

拉取、推送、构建、批量检查、批量升级、Compose up 等长耗时操作作为后台任务运行,页面底部的任务面板显示实时输出与状态(运行中、完成、错误),可查看历史并清除已结束任务。刷新页面后会恢复仍在运行的任务。

事件通知 ​

Gately 订阅 Docker 事件流,容器异常退出(退出码非 0)或触发 OOM 被终止时发布 docker.exited 事件,可在 通知中心 配置接收渠道。退出码为 0 的正常停止不通知。Docker 暂不可用时每 30 秒自动重试订阅。

接口 ​

完整接口说明见 Docker API。

以 Apache-2.0 许可证开源发布。