Portainer Docker Control

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 Portainer API 控制 Docker 容器和堆栈,包括列出容器、启停/重启、查看日志以及从 Git重新部署堆栈。

」这个Portainer Skill ,“Docker 容器,我用我的百合板处理

功能概述

」这个Portainer Skill ,“Docker 容器,我用我的百合板处理是一项面向实际任务的技能,主要用于” 这个Portainer Skill 让你通过Portainer的软件控制你的Docker 基础设施。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

🐳 Portainer 技能

    ╔═══════════════════════════════════════════════════════════╗
    ║                                                           ║
    ║   🐳  P O R T A I N E R   C O N T R O L   C L I  🐳      ║
    ║                                                           ║
    ║       通过 Portainer API 管理 Docker 容器                 ║
    ║            启动、停止、部署、重新部署                    ║
    ║                                                           ║
    ╚═══════════════════════════════════════════════════════════╝

“Docker 容器?我从我的睡莲叶上就能搞定。” 🐸

📖 此技能的作用是什么?

Portainer 技能 通过 Portainer 的 REST API,为您提供对 Docker 基础设施的完整控制能力——无需打开 Web UI,即可管理容器、堆栈(Stack)和部署任务。

功能特性:

  • 📊 状态查询(status) — 检查 Portainer 服务端运行状态
  • 🖥️ 环境端点(endpoints) — 列出所有已注册的 Docker 环境
  • 📦 容器管理(containers) — 列出、启动、停止、重启容器
  • 📚 堆栈管理(stacks) — 列出并管理基于 Docker Compose 的堆栈
  • 🔄 重新部署(redeploy) — 从 Git 拉取最新代码并重新部署堆栈
  • 📜 日志查看(logs) — 查看指定容器的标准输出与错误日志

⚙️ 使用要求

项目 说明
Portainer 2.x 版本,且已启用 API 访问
依赖工具 curl、jq
认证方式 API 访问令牌(Access Token)

配置步骤

  1. 从 Portainer 获取 API Token:

    • 登录 Portainer Web UI
    • 点击右上角用户名 → “My Account”(我的账户)
    • 滚动至 “Access tokens”(访问令牌)区域 → 点击 “Add access token”(添加访问令牌)
    • 复制生成的令牌(该令牌仅显示一次,关闭后不可再查看!)
  2. 配置凭证信息:

    # 添加至 ~/.clawdbot/.env
    PORTAINER_URL=https://your-portainer-server:9443
    PORTAINER_API_KEY=ptr_your_token_here
    
  3. 完成! 🚀

🛠️ 可用命令

status — 检查 Portainer 服务端状态

./portainer.sh status

输出示例:

Portainer v2.27.3

endpoints — 列出全部环境端点

./portainer.sh endpoints

输出示例:

3: portainer (local) - ✓ online
4: production (remote) - ✓ online

containers — 列出容器

# 在默认端点(ID=4)上列出容器
./portainer.sh containers

# 在指定端点(如 ID=3)上列出容器
./portainer.sh containers 3

输出示例:

steinbergerraum-web-1    running    Up 2 days
cora-web-1               running    Up 6 weeks
minecraft                running    Up 6 weeks (healthy)

stacks — 列出全部堆栈(Stack)

./portainer.sh stacks

输出示例:

25: steinbergerraum - ✓ active
33: cora - ✓ active
35: minecraft - ✓ active
4: pulse-website - ✗ inactive

stack-info — 查看堆栈详细信息

./portainer.sh stack-info 25

输出示例(JSON 格式):

{
  "Id": 25,
  "Name": "steinbergerraum",
  "Status": 1,
  "EndpointId": 4,
  "GitConfig": "https://github.com/user/repo",
  "UpdateDate": "2026-01-25T08:44:56Z"
}

redeploy — 拉取更新并重新部署堆栈 🔄

./portainer.sh redeploy 25

输出示例:

✓ Stack 'steinbergerraum' redeployed successfully

该操作将执行以下步骤:

  1. 从 Git 仓库拉取最新代码
  2. 如有必要,重建相关容器镜像
  3. 重启整个堆栈

start / stop / restart — 容器生命周期控制

# 启动容器
./portainer.sh start steinbergerraum-web-1

# 停止容器
./portainer.sh stop steinbergerraum-web-1

# 重启容器
./portainer.sh restart steinbergerraum-web-1

# 显式指定端点(默认为 4)
./portainer.sh restart steinbergerraum-web-1 4

输出示例:

✓ Container 'steinbergerraum-web-1' restarted

logs — 查看容器日志

# 默认显示最后 100 行
./portainer.sh logs steinbergerraum-web-1

# 显示最后 50 行,并指定端点 ID(4)
./portainer.sh logs steinbergerraum-web-1 4 50

🎯 典型工作流示例

🚀 “部署网站更新”

# 合并 PR 后立即执行
./portainer.sh redeploy 25
./portainer.sh logs steinbergerraum-web-1 4 20

🔧 “调试容器问题”

./portainer.sh containers
./portainer.sh logs cora-web-1
./portainer.sh restart cora-web-1

📊 “系统概览检查”

./portainer.sh status
./portainer.sh endpoints
./portainer.sh containers
./portainer.sh stacks

🔧 故障排查

❌ “Authentication required / Repository not found”(需认证 / 仓库未找到)

问题原因: 堆栈重新部署时发生 Git 认证失败

解决方案: 堆栈需配置 repositoryGitCredentialID 参数。本脚本会自动从已有堆栈配置中读取该值,无需手动干预。

❌ “Container not found”(容器未找到)

问题原因: 输入的容器名称不匹配

解决方案: 请使用 ./portainer.sh containers 输出中的**完整精确名称**:

  • 必须包含完整名称,例如:steinbergerraum-web-1,而非 steinbergerraum
  • 容器名称区分大小写

❌ “PORTAINER_URL and PORTAINER_API_KEY must be set”(必须设置 PORTAINER_URL 和 PORTAINER_API_KEY)

问题原因: 凭证未正确配置

解决方案:

# 添加至 ~/.clawdbot/.env
echo "PORTAINER_URL=https://your-server:9443" >> ~/.clawdbot/.env
echo "PORTAINER_API_KEY=ptr_your_token" >> ~/.clawdbot/.env

🔗 与 Clawd 集成示例

"Redeploy the website"
→ ./portainer.sh redeploy 25

"Show me running containers"
→ ./portainer.sh containers

"Restart the Minecraft server"
→ ./portainer.sh restart minecraft

"What stacks do we have?"
→ ./portainer.sh stacks

📜 更新日志

版本号 日期 变更内容
1.0.0 2026-01-25 初始发布

🐸 致谢

  @..@
 (----)
( >__< )   "Containers are just fancy lily pads
 ^^  ^^     for your code to hop around!"

作者:Andy Steinberger(由他的 Clawdbot 青蛙 Owen 🐸 协助完成)
底层支持:Portainer API
所属项目:Clawdbot Skills Collection

为 Clawdbot 社区倾心打造 💚

Ribbit! 🐸

相关专题

更多
Docker Compose教程大全
Docker Compose教程大全

Docker Compose教程大全提供Docker Compose安装、YAML配置、容器编排、多服务部署以及项目实战案例,帮助开发者快速构建Docker微服务环境。

2026.05.21

432

17

Docker命令大全
Docker命令大全

Docker命令大全专题汇总Docker常用命令、容器管理命令、镜像操作命令、网络与数据卷管理方法,适合Docker新手与运维开发人员学习使用。

2026.05.21

207

16

Docker安装教程
Docker安装教程

Docker安装教程专题整理Docker安装教程、Docker Desktop配置、Windows与Mac安装方法、Linux容器环境部署以及常见报错解决方案,帮助开发者快速完成Docker开发环境搭建。

2026.05.21

464

17

RabbitMQ Docker实战指南
RabbitMQ Docker实战指南

RabbitMQ Docker实战指南提供 RabbitMQ Docker 镜像部署、Docker Compose、Kubernetes Operator 与云原生实践教程。

2026.05.20

102

10

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

345

15

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

225

24

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

280

26

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

251

14

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

179

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Docker Desktop故障排查手册
Docker Desktop故障排查手册

共0课时 | 0人学习

Docker镜像构建手册
Docker镜像构建手册

共0课时 | 0人学习