返回顶部
d

docker-remoteDocker远程管理

Remotely manage Docker Compose instances via SSH. Execute docker compose commands, view logs, update images, and exec into containers on remote servers. Use when deploying, monitoring, or debugging containerized applications.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
317
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

docker-remote

Docker 远程管理技能

通过SSH连接远程管理Docker Compose实例。

概述

本技能提供了一套完整的操作,用于远程服务器上的Docker Compose生命周期管理。所有操作均通过SSH执行,客户端和服务器端仅需标准SSH和Docker工具。

快速开始

bash

启动服务


dockercomposeup host=192.168.1.100 user=root path=/opt/myapp

检查状态

dockercomposeps host=192.168.1.100 user=root path=/opt/myapp

查看日志

dockercomposelogs host=192.168.1.100 user=root path=/opt/myapp tail=50

更新并重启

dockercomposeupdate host=192.168.1.100 user=root path=/opt/myapp pull=always

操作

dockercomposeup

以分离模式启动Docker Compose服务。

参数:

  • - host(必填):远程SSH主机(IP或主机名)
  • user(必填):SSH用户名
  • path(必填):包含docker-compose.yml的目录
  • port(可选,默认:22):SSH端口
  • key_path(可选):SSH私钥路径
  • timeout(可选,默认:60):操作超时时间(秒)

示例:

dockercomposeup host=192.168.1.100 user=admin path=/opt/app port=2222

dockercomposedown

停止并移除docker-compose.yml中定义的容器、网络和卷。

参数: 与up相同

示例:

dockercomposedown host=192.168.1.100 user=admin path=/opt/app

dockercomposestart

启动特定的已停止服务。

参数:

  • - 所有up的参数
  • service(可选):要启动的服务名称(未指定则启动所有服务)

示例:

dockercomposestart host=192.168.1.100 user=admin path=/opt/app service=web

dockercomposestop

停止运行中的服务但不移除它们。

参数:

  • - 所有up的参数
  • service(可选):要停止的服务名称(未指定则停止所有服务)

示例:

dockercomposestop host=192.168.1.100 user=admin path=/opt/app service=worker

dockercomposerestart

重启服务。

参数:

  • - 所有up的参数
  • service(可选):要重启的服务名称

示例:

dockercomposerestart host=192.168.1.100 user=admin path=/opt/app service=api

dockercomposeps

列出所有容器及其状态。

参数: 与up相同

示例:

dockercomposeps host=192.168.1.100 user=admin path=/opt/app

dockercomposelogs

获取并显示服务的日志。

参数:

  • - 所有up的参数
  • service(可选):过滤特定服务的日志
  • tail(可选,默认:100):显示的行数
  • follow(可选,默认:false):持续流式输出日志

示例:

dockercomposelogs host=192.168.1.100 user=admin path=/opt/app tail=50 follow=true

dockercomposeupdate

拉取最新镜像并重启服务。

参数:

  • - 所有up的参数
  • force_recreate(可选,默认:false):强制重新创建容器
  • pull(可选):镜像拉取策略(never、always、missing)
  • command(可选):自定义命令,替代默认的pull && up

示例:

默认行为

dockercomposeupdate host=192.168.1.100 user=admin path=/opt/app pull=always

自定义命令

dockercomposeupdate host=192.168.1.100 user=admin path=/opt/app command=sh ./upgrade.sh

dockercomposeexec

在运行中的容器内执行命令。

参数:

  • - 所有up的参数
  • service(必填):要执行命令的容器名称
  • command(必填):要执行的命令
  • timeout(可选,默认:60):命令执行超时时间

示例:

dockercomposeexec host=192.168.1.100 user=admin path=/opt/app service=web command=ls -la /app

实现说明

  • - SSH连接默认使用基于密钥的身份验证
  • 在运行docker compose命令前始终切换到正确的目录
  • 启动服务时使用-d标志启用分离模式
  • 优雅处理SSH连接超时和身份验证失败
  • 返回包含成功/失败状态和相关日志的结构化输出
  • 操作失败时包含错误上下文信息

错误处理

常见错误及处理方法:

  1. 1. SSH连接被拒绝:验证主机、端口和网络访问
  2. 身份验证失败:检查SSH密钥路径和权限
  3. 路径未找到:确保指定路径下存在docker-compose.yml
  4. Docker未运行:验证远程主机上Docker守护进程可访问
  5. 权限被拒绝:检查用户是否有Docker套接字的访问权限

部署配置

本技能支持deploy-apps.json配置文件,用于映射远程主机和应用程序。Agent会自动读取此配置以解析主机别名、应用名称、SSH凭据和文件路径。

配置文件

deploy-apps.json文件的结构如下:

json
{
hosts: {
<主机别名>: {
host: remote.server.com,
description: 服务器描述,
base-dir: /path/to/docker,
user: ssh-user,
apps: {
<应用名称>: {
description: 应用描述,
update-command: 执行更新的自定义命令
}
}
}
}
}

工作原理

当您引用主机别名或应用名称时,Agent会:

  1. 1. 读取deploy-apps.json以查找匹配的配置
  2. 将host解析为实际的SSH主机名/IP
  3. /<应用名称>构建path
  4. 使用配置的user进行SSH身份验证

配置参数

参数类型必填描述
hosts.<别名>.hoststring远程SSH主机名或IP
hosts.<别名>.base-dir
string | 是 | 包含应用文件夹的基础目录 | | hosts.<别名>.user | string | 是 | SSH用户名 | | hosts.<别名>.description | string | 否 | 人类可读的描述 | | hosts.<别名>.apps.<名称>.description | string | 是* | 应用描述 | | hosts.<别名>.apps.<名称>.update-command | string | 是* | 执行更新的自定义命令 |

路径解析示例

当:

  • - base-dir:/data/docker
  • app-name:mysql

解析后的路径为:/data/docker/mysql

参见

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 docker-remote-1776183380 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 docker-remote-1776183380 技能

通过命令行安装

skillhub install docker-remote-1776183380

下载

⬇ 下载 docker-remote v1.0.0(免费)

文件大小: 5.32 KB | 发布时间: 2026-4-15 12:40

v1.0.0 最新 2026-4-15 12:40
Initial release of Docker Remote skill.

- Remotely manage Docker Compose instances via SSH on any server.
- Supports starting, stopping, restarting, and updating services, viewing logs, and executing commands inside containers.
- Actions accept SSH parameters and can use custom deployment configuration for easier host/app mapping.
- Handles common errors such as SSH/auth failures, missing compose files, or Docker not running.
- Includes structured output and guides for `deploy-apps.json` usage and configuration.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部