本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Consul ESM (External Service Monitor) 是一个与 Consul 协同运行的守护进程,主要用于对外部节点执行健康检查,并将这些健康检查的状态更新至 Consul 服务目录。若启用相关功能,还可管理外部节点的网络坐标更新,确保 Consul 能准确跟踪外部服务的位置信息。该镜像需配合 Consul 集群使用,扩展 Consul 对非集群内节点的监控能力。
Consul ESM 支持通过配置文件(推荐)或环境变量进行配置,核心配置项如下:
| 参数名 | 说明 | 默认值 |
|---|---|---|
consul.address | Consul 服务地址(格式:host:port) | 127.0.0.1:8500 |
consul.token | 访问 Consul 的 ACL Token(若 Consul 启用 ACL) | 空 |
external-node | 外部节点名称(需唯一标识) | 无(必填) |
health-checks | 健康检查定义列表(JSON 格式,包含检查类型、超时时间、间隔等) | 无(必填) |
enable-coordinates | 是否启用外部节点坐标更新(true/false) | false |
log-level | 日志级别(trace/debug/info/warn/error) | info |
创建 esm-config.hcl 配置文件,定义外部节点及健康检查规则:
consul { address = "consul-server:8500" token = "your-acl-token" # 若 Consul 未启用 ACL,可省略此行 } external_node { name = "external-db-node" address = "192.168.1.100" } health_checks = [ { name = "db-tcp-check" type = "tcp" address = "192.168.1.100" port = 3306 interval = "10s" timeout = "5s" }, { name = "app-http-check" type = "http" url = "[***]" interval = "5s" timeout = "2s" } ] enable_coordinates = true # 启用坐标更新 log_level = "info"
docker run 部署docker run -d \ --name consul-esm \ -v $(pwd)/esm-config.hcl:/etc/consul-esm/esm-config.hcl \ # 挂载配置文件 -e CONSUL_ESM_CONFIG_FILE=/etc/consul-esm/esm-config.hcl \ # 指定配置文件路径 hashicorp/consul-esm:latest
docker-compose 部署创建 docker-compose.yml:
version: "3.8" services: consul-esm: image: hashicorp/consul-esm:latest container_name: consul-esm volumes: - ./esm-config.hcl:/etc/consul-esm/esm-config.hcl environment: - CONSUL_ESM_CONFIG_FILE=/etc/consul-esm/esm-config.hcl restart: unless-stopped network_mode: "host" # 若外部节点与容器不在同一网络,需配置端口映射或使用 host 网络
docker logs consul-esm
若返回节点信息及健康检查状态,则部署成功。curl http://<consul-address>:8500/v1/catalog/node/<external-node-name>
参考文档:Consul 官方 外部服务指南
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429