网淘吧来吧,欢迎您!

Portainer

2026-03-29 新闻来源:网淘吧 围观:23
电脑广告
手机广告

🐳 Portainer 技能

    ╔═══════════════════════════════════════════════════════════╗
    ║                                                           ║
    ║   🐳  P O R T A I N E R   C O N T R O L   C L I  🐳      ║
    ║                                                           ║
    ║       Manage Docker containers via Portainer API          ║
    ║            Start, stop, deploy, redeploy                  ║
    ║                                                           ║
    ╚═══════════════════════════════════════════════════════════╝

"Docker 容器?我在我的睡莲叶子上就能搞定。"🐸


📖 此技能有何作用?

通过 Portainer 的 REST API,Portainer 技能让您掌控 Docker 基础设施。无需接触 Web 界面,即可管理容器、堆栈和部署。

功能:

  • 📊状态— 检查 Portainer 服务器状态
  • 🖥️端点— 列出所有 Docker 环境
  • 📦容器— 列出、启动、停止、重启容器
  • 📚堆栈— 列出和管理 Docker Compose 堆栈
  • 🔄重新部署— 从 Git 拉取并重新部署堆栈
  • 📜日志— 查看容器日志

⚙️ 要求

内容详情
Portainer版本 2.x 并具有 API 访问权限
工具curljq
认证API 访问令牌

设置

  1. 从 Portainer 获取 API 令牌:

    • 登录 Portainer 网页界面
    • 点击用户名 → 我的账户
    • 滚动至“访问令牌” → 添加访问令牌
    • 复制令牌(之后将无法再次查看!)
  2. 配置凭据:

    # Add to ~/.clawdbot/.env
    PORTAINER_URL=https://your-portainer-server:9443
    PORTAINER_API_KEY=ptr_your_token_here
    
  3. 准备就绪!🚀


🛠️ 命令

状态— 检查Portainer服务器

./portainer.sh status

输出:

Portainer v2.27.3

端点— 列出环境

./portainer.sh endpoints

输出:

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

容器— 列出容器

# List containers on default endpoint (4)
./portainer.sh containers

# List containers on specific endpoint
./portainer.sh containers 3

输出:

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

— 列出所有栈

./portainer.sh stacks

输出:

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

栈信息— 栈详情

./portainer.sh stack-info 25

输出:

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

重新部署— 拉取并重新部署栈 🔄

./portainer.sh redeploy 25

输出:

✓ Stack 'steinbergerraum' redeployed successfully

这将:

  1. 从git拉取最新代码
  2. 如果需要,重建容器
  3. 重启栈

启动/停止/重启— 容器控制

# Start a container
./portainer.sh start steinbergerraum-web-1

# Stop a container
./portainer.sh stop steinbergerraum-web-1

# Restart a container
./portainer.sh restart steinbergerraum-web-1

# Specify endpoint (default: 4)
./portainer.sh restart steinbergerraum-web-1 4

输出:

✓ Container 'steinbergerraum-web-1' restarted

日志— 查看容器日志

# Last 100 lines (default)
./portainer.sh logs steinbergerraum-web-1

# Last 50 lines
./portainer.sh logs steinbergerraum-web-1 4 50

🎯 示例工作流

🚀 "部署网站更新"

# After merging 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

🔧 故障排除

❌ "需要身份验证 / 仓库未找到"

问题:堆栈重新部署因 Git 认证错误而失败

解决方案:堆栈需要repositoryGitCredentialID参数。脚本会自动通过读取现有堆栈配置来处理此问题。


❌ "容器未找到"

问题:容器名称不匹配

解决方案:使用来自./portainer.sh containers的确切名称

  • 包含完整名称:steinbergerraum-web-1不是steinbergerraum
  • 名称区分大小写

❌ "必须设置 PORTAINER_URL 和 PORTAINER_API_KEY"

问题:凭据未配置

解决方案:

# Add to ~/.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.02026-01-25初始发布版本

🐸 致谢

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

作者:Andy Steinberger (在其 Clawdbot 青蛙 Owen 🐸 的帮助下)
技术支持: PortainerAPI
隶属于: Clawdbot技能合集


<div align="center">

为Clawdbot社区用心打造 💚

呱!🐸

</div>
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第321860名访客 今日有132篇新文章/评论