
hashicorppreview/consulConsul 是一款分布式、高可用且支持多数据中心的服务发现、配置管理和编排工具。它旨在帮助大规模部署、配置和维护面向服务的架构(SOA)及微服务架构。
本 Docker 镜像为 Consul 的开发版本(dev)镜像,主要用于开发和测试环境中快速搭建 Consul 服务。注意:生产环境中应使用 HashiCorp 官方稳定版镜像(hashicorp/consul),具体可参考 Docker Hub 仓库。
hashicorp/consul 官方稳定版镜像,配合持久化存储、集群部署等生产级配置。开发模式(-dev)下,Consul 以单节点模式运行,自动生成配置,适合快速测试:
bashdocker run -d \ --name consul-dev \ -p 8500:8500 \ # HTTP API 端口(服务发现、配置管理) -p 8600:8600/udp # DNS 端口(服务域名解析) consul:dev agent -dev -client=0.0.0.0
-dev:启用开发模式,数据存储在内存中(非持久化)。-client=0.0.0.0:允许外部访问 HTTP/DNS 接口(默认仅本地访问)。非开发环境需以服务器模式启动,指定数据持久化目录:
bashdocker run -d \ --name consul-server \ -p 8500:8500 \ -p 8300:8300 \ # 服务器节点间通信端口 -p 8301:8301/udp \ # Serf LAN 端口(局域网节点发现) -v /path/to/consul/data:/consul/data \ # 挂载数据目录(持久化) consul:dev agent -server \ -bootstrap-expect=1 \ # 单节点集群(生产环境建议 ≥3 节点) -client=0.0.0.0 \ -data-dir=/consul/data \ -node=server-1 # 节点名称(集群内唯一)
yamlversion: '3' services: consul: image: consul:dev container_name: consul-dev ports: - "8500:8500" # HTTP API - "8600:8600/udp" # DNS command: agent -dev -client=0.0.0.0 restart: unless-stopped
| 参数/选项 | 说明 | 示例 |
|---|---|---|
-server | 以服务器模式启动(参与 Raft 共识) | agent -server |
-client | 绑定客户端访问地址(HTTP/DNS 接口) | -client=0.0.0.0 |
-data-dir | 数据持久化目录 | -data-dir=/consul/data |
-bootstrap-expect | 集群期望服务器节点数(自动引导集群) | -bootstrap-expect=3 |
-join | 加入现有集群(指定其他节点地址) | -join=192.168.1.100 |
启动后,通过 HTTP API 或 Web UI 验证服务状态:
http://localhost:8500curl http://localhost:8500/v1/agent/self-v 挂载宿主机目录至 /consul/data。-tls-config-file)和 ACL(-acl-file),限制未授权访问。hashicorp/consul 并指定稳定版本标签(如 hashicorp/consul:1.16.0)。

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