portainer/template-swarm-monitoring本镜像集合是Portainer监控Swarm应用模板(monitoring Swarm App Template)的核心组件,由Portainer官方维护,源码托管于GitHub仓库。其主要用途是为Docker Swarm集群提供开箱即用的监控能力,集成指标收集、数据可视化、服务健康检查等功能,支持Swarm环境下容器、服务及主机资源的全方位监控。
镜像通过Docker Hub或Portainer私有仓库分发,具体镜像名称可参考GitHub仓库的Makefile定义,典型镜像标签格式为:
portainer/monitoring-swarm:<组件>-<版本>(如portainer/monitoring-swarm:prometheus-v2.45.0)。
拉取命令示例:
bashdocker pull portainer/monitoring-swarm:prometheus-v2.45.0
若需自定义配置,可基于GitHub源码构建:
bashgit clone [***] cd templates/images/monitoring make build # 执行Makefile构建镜像,具体参数可通过Makefile变量调整
以下为单容器运行示例(以Prometheus组件为例,实际部署需结合Swarm服务模式):
bashdocker run -d \ --name monitoring-prometheus \ --network=swarm-monitoring \ # 需提前创建监控专用网络 -p 9090:9090 \ -v /var/run/docker.sock:/var/run/docker.sock \ # 挂载Docker套接字用于服务发现 -v prometheus-data:/prometheus \ # 持久化数据卷 -e SWARM_MODE=true \ # 启用Swarm模式适配 -e SCRAPE_INTERVAL=15s \ # 指标采集间隔 portainer/monitoring-swarm:prometheus-v2.45.0
适用于Swarm集群的docker-compose.yml示例(集成Prometheus和Grafana):
yamlversion: '3.8' networks: monitoring-net: driver: overlay # Swarm overlay网络,跨节点通信 volumes: prometheus-data: grafana-data: services: prometheus: image: portainer/monitoring-swarm:prometheus-v2.45.0 deploy: placement: constraints: [node.role == manager] # 部署在Swarm管理节点 replicas: 1 ports: - "9090:9090" volumes: - /var/run/docker.sock:/var/run/docker.sock - prometheus-data:/prometheus environment: - SWARM_MODE=true - SCRAPE_INTERVAL=15s - RETENTION_TIME=15d # 数据保留时间 networks: - monitoring-net grafana: image: portainer/monitoring-swarm:grafana-v10.1.0 deploy: replicas: 1 ports: - "3000:3000" volumes: - grafana-data:/var/lib/grafana environment: - GF_SECURITY_ADMIN_PASSWORD=admin # 初始管理员密码 - GF_PROMETHEUS_URL=[***] # 关联Prometheus数据源 networks: - monitoring-net
部署命令:
bashdocker stack deploy -c docker-compose.yml monitoring-stack
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
TZ | 时区配置 | UTC |
SWARM_MODE | 是否启用Swarm模式适配 | true |
| 参数名 | 说明 | 配置方式 |
|---|---|---|
| 采集间隔 | 调整目标指标拉取频率 | 环境变量SCRAPE_INTERVAL |
| 数据保留时间 | 监控数据存储周期 | 环境变量RETENTION_TIME |
| 自定义监控目标 | 添加额外监控端点 | 挂载prometheus.yml配置文件 |
源码仓库中的Makefile定义了镜像构建逻辑,支持指定组件、版本及基础镜像等参数。
| Makefile变量 | 说明 | 示例值 |
|---|---|---|
COMPONENT | 监控组件名称(如prometheus) | grafana |
VERSION | 组件版本 | v10.1.0 |
BASE_IMAGE | 基础镜像 | alpine:3.18 |
构建Grafana组件镜像:
bashcd templates/images/monitoring make build COMPONENT=grafana VERSION=v10.1.0 BASE_IMAGE=alpine:3.18
overlay网络确保跨节点通信,监控组件需挂载/var/run/docker.sock以获取集群信息(生产环境建议限制权限)。prometheus-data、grafana-data),防止数据丢失。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务