Portainer 可视化管理
Portainer 可视化管理
本节介绍如何使用 Portainer 可视化地管理 Docker 容器。学习完成后,您将能够:
- 安装和配置 Portainer
- 通过 Web UI 管理容器、镜像和卷
- 向客户展示容器化管理的便捷性
- 理解 Portainer 在演示环境中的价值
什么是 Portainer?
Section titled “什么是 Portainer?”Portainer 是一个轻量级的 Docker 容器管理工具,提供 Web 界面来管理 Docker 环境。它是 IoT 演示环境中的重要管理工具。
核心优势:
| 特性 | 说明 | 售前价值 |
|---|---|---|
| Web 界面 | 无需命令行操作 | 降低管理门槛 |
| 容器管理 | 启动、停止、删除容器 | 直观展示容器化优势 |
| 镜像管理 | 查看、下载、删除镜像 | 演示快速部署 |
| 日志查看 | 实时查看容器日志 | 快速排错 |
| 资源监控 | 查看 CPU、内存使用 | 展示资源效率 |
Installation
Section titled “Installation”使用 Docker 命令安装
Section titled “使用 Docker 命令安装”# 1. 创建 Portainer 数据卷docker volume create portainer_data
# 2. 运行 Portainer 容器docker run -d \ --name portainer \ --restart unless-stopped \ -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest
# 3. 验证安装docker ps | grep portainer使用 Docker Compose
Section titled “使用 Docker Compose”version: '3.8'services: portainer: image: portainer/portainer-ce:latest container_name: portainer restart: unless-stopped ports: - "9000:9000" - "9443:9443" # SSL 端口 volumes: - /var/run/docker.sock:/var/run/docker.sock - ./portainer/data:/dataFirst-time Setup
Section titled “First-time Setup”# 访问 Portainer Web UIopen http://<server-ip>:9000配置步骤:
-
创建管理员账号
- 用户名:
admin - 密码:
YourStrongPassword!(至少 12 位)
- 用户名:
-
选择环境
- 选择 “Docker”(本地 Docker 环境)
- 点击 “Connect”
-
进入仪表板
- 查看 Docker 环境概览
- 包含容器、镜像、卷、网络统计
Dashboard Overview
Section titled “Dashboard Overview”┌────────────────────────────────────────────────────┐│ Portainer Dashboard │├────────────────────────────────────────────────────┤│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────┐ ││ │ Containers│ │ Images │ │ Volumes │ │Network│ ││ │ 5 │ │ 12 │ │ 8 │ │ 3 │ ││ └──────────┘ └──────────┘ └──────────┘ └──────┘ ││ ││ [Container List] ││ ┌──────────────────────────────────────────┐ ││ │ Name │ Status │ Ports │ ││ ├──────────────────────────────────────────┤ ││ │ iot-mosquitto│ ▶ Running │ 0.0.0.0:1883 │ ││ │ iot-nodered │ ▶ Running │ 0.0.0.0:1880 │ ││ │ iot-influxdb │ ▶ Running │ 0.0.0.0:8086 │ ││ │ iot-grafana │ ▶ Running │ 0.0.0.0:3000 │ ││ │ portainer │ ▶ Running │ 0.0.0.0:9000 │ ││ └──────────────────────────────────────────┘ │└────────────────────────────────────────────────────┘Common Operations
Section titled “Common Operations”Container Management
Section titled “Container Management”| 操作 | 功能 | 演示场景 |
|---|---|---|
| Start/Stop | 启动/停止容器 | 展示容器快速启停 |
| Restart | 重启容器 | 演示快速恢复 |
| Remove | 删除容器 | 展示数据持久化(删除容器后数据仍在) |
| Logs | 查看日志 | 排错和监控 |
| Stats | 查看资源使用 | 展示资源效率 |
| Exec Console | 进入容器 Shell | 调试和配置 |
Image Management
Section titled “Image Management”# 在 Portainer 上可以:# 1. 查看已下载的镜像列表# 2. 从 Docker Hub 拉取新镜像# 3. 删除不再使用的镜像# 4. 查看镜像历史层Volume Management
Section titled “Volume Management”# 在 Portainer 上可以:# 1. 查看所有数据卷# 2. 创建新数据卷# 3. 查看卷中文件# 4. 删除未使用卷Advanced Features
Section titled “Advanced Features”1. 应用模板
Section titled “1. 应用模板”Portainer 提供应用模板,一键部署常用服务:
- Node-RED
- Mosquitto
- InfluxDB
- Grafana
- MariaDB
2. 环境管理
Section titled “2. 环境管理”支持管理多个 Docker 环境:
┌─────────────────────────────────────┐│ Portainer (单管理节点) │├─────────────────────────────────────┤│ ├─ 本地 Docker 环境 ││ ├─ 远程 Docker 服务器 ││ ├─ Docker Swarm 集群 ││ └─ Kubernetes 集群 │└─────────────────────────────────────┘3. 用户管理
Section titled “3. 用户管理”用户角色: - Administrator: 完全控制 - Operator: 容器管理权限 - Viewer: 只读权限(适合客户演示) - Read-only User: 仅查看Portainer in Demo Scenarios
Section titled “Portainer in Demo Scenarios”客户演示话术
Section titled “客户演示话术”场景 1: 容器化优势
"Let me show you how easy it is to deploy services with Docker."
# 在 Portainer 上操作:# 1. 点击 "App Templates"# 2. 选择 "Node-RED"# 3. 配置名称和端口# 4. 点击 "Deploy"# 5. 几秒钟后 Node-RED 就运行起来了场景 2: 数据持久化
"Even if we delete the container, all data is preserved."
# 在 Portainer 上操作:# 1. 停止并删除 Node-RED 容器# 2. 从模板重新部署 Node-RED# 3. 展示之前创建的 Flow 仍然存在场景 3: 资源监控
"See how efficient containers are - they share the host OS kernel."
# 在 Portainer 上操作:# 1. 查看 Dashboard 资源使用统计# 2. 展示 4 个 IoT 服务的总资源占用# 3. 对比传统虚拟机的资源消耗Portainer 无法访问
Section titled “Portainer 无法访问”症状: 浏览器无法打开 Portainer UI 原因: 端口被防火墙阻止 解决方案:
# 检查防火墙sudo ufw statussudo ufw allow 9000
# 检查容器状态docker ps -a | grep portainer
# 查看日志docker logs portainerPortainer 显示 “No data”
Section titled “Portainer 显示 “No data””症状: Dashboard 统计为 0 原因: Docker Socket 权限问题 解决方案:
# 确保正确挂载 Docker Socketdocker run -d \ -v /var/run/docker.sock:/var/run/docker.sock \ portainer/portainer-ce:latest✅ 推荐做法:
- 使用 Portainer CE(社区版免费)
- 为 Portainer 设置强密码
- 仅内网暴露 Portainer(端口 9000)
- 定期清理未使用镜像和卷
- 使用 Viewer 账号做客户演示
❌ 避免做法:
- 将 Portainer 直接暴露到公网
- 使用默认管理员密码
- 在生产环境频繁重启容器
- 删除还在使用的数据卷
Summary
Section titled “Summary”- Portainer 是 Docker 可视化管理的最佳选择
- 适合演示场景:直观展示容器化优势
- 支持容器、镜像、卷的一站式管理
- 免费社区版满足 IoT 演示需求
- 提供只读账号供客户体验