
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Consul Docker镜像,按照自动驾驶模式设计为自运行模式。本应用展示了对Consul Raft的配置支持,使其可用作采用自动驾驶模式的其他应用的高可用服务发现目录。
本镜像基于官方Consul镜像构建,采用自动驾驶模式设计,旨在Docker Swarm环境中实现自管理的Consul集群。通过配置Consul Raft协议,提供高可用的服务发现能力,适用于需要服务注册与发现的分布式应用场景。注意:本镜像为概念验证版本,不建议用于生产环境。
-disable-host-node-id参数,避免同一主机上容器的节点ID冲突适用于Docker Swarm模式下的服务发现概念验证,可作为分布式应用的服务注册中心。适合开发和测试环境,用于验证服务发现机制和集群扩展能力,不适合生产环境部署。
1. 环境准备
确保已安装Docker for Windows、Docker for Mac或Docker Toolbox(包含docker和docker-compose)。
2. 创建Swarm模式集群
--engine-opt experimental选项非必需,但在Docker v1.13+中可使用docker service logs consul查看集群中所有服务的日志。
bashfor i in 1 2 3; do docker-machine create -d virtualbox --engine-opt experimental swarm-$i done eval $(docker-machine env swarm-1) docker swarm init --advertise-addr $(docker-machine ip swarm-1) TOKEN=$(docker swarm join-token -q manager) for i in 2 3; do eval $(docker-machine env swarm-$i) docker swarm join --token $TOKEN --advertise-addr $(docker-machine ip swarm-$i) $(docker-machine ip swarm-1):2377 done
3. 创建Consul网络
bashdocker network create consul-net -d overlay --subnet=172.20.0.0/24
--subnet选项非必需,仅用于避免与Docker默认的10.x.x.x网段冲突。
4. 创建Swarm服务
4.1 使用docker-compose v1.10+
bashdocker deploy -c docker-compose.yml consul
4.2 手动创建服务
bashdocker service create --network=consul-net --name=consul \ -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' \ -e CONSUL_BIND_INTERFACE='eth0' \ -e CONSUL=consul \ -e CONSUL_CHECK_LEADER=true \ --replicas 3 \ --update-delay 10s \ --update-parallelism 1 \ -p 8500:8500 sdelrio/consul
本镜像基于官方consul镜像构建,支持所有官方环境变量(如CONSUL_LOCAL_CONFIG、CONSUL_BIND_INTERFACE),此外还支持以下自定义变量:
CONSUL:用于查询其他Consul节点的服务名称。镜像将通过Docker DNS查找其他节点,通常设为Swarm服务名称。
CONSUL_CHECK_LEADER:若设为true,日志将在每个健康检查间隔输出当前容器是否为领导者,以及容器IP和领导者IP:
consul_consul.3.l0e0zr114x50@swarm-1 | 2017/01/26 00:11:22 [CP] I'm leader (172.20.0.6) consul_consul.2.qwx39safki82@swarm-2 | 2017/01/26 00:11:26 [CP] Leader is 172.20.0.6, I'm 172.20.0.3
PROTO:领导者选举使用的协议,默认值为http。可设为https,此时选举地址为${PROTO}://${CONSUL}:8500/v1/status/leader。
入口点通过containerpilot执行Consul,可通过命令参数自定义配置。默认命令需3个副本:
bashagent -server -bootstrap-expect 3 -ui -client=0.0.0.0 -retry-interval 5s --log-level warn -disable-host-node-id
Consul默认根据主机名生成节点ID,在同一主机运行多个Consul容器时可能冲突。Consul(v0.8.1+)提供
-disable-host-node-id标志以避免此问题。
以下是 sdelrio/consul 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务