
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
http://www.consul.io/%E7%9A%84Docker%E5%AE%9E%E7%8E%B0%EF%BC%8C%E6%A0%B9%E6%8D%AEAutopilot%E6%A8%A1%E5%BC%8F%E8%AE%BE%E8%AE%A1%E4%B8%BA%E8%87%AA%E6%93%8D%E4%BD%9C%E6%A8%A1%E5%BC%8F%E3%80%82%E6%9C%AC%E5%BA%94%E7%94%A8%E5%B1%95%E7%A4%BA%E4%BA%86%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AEConsul Raft,使其可用作采用Autopilot模式的其他应用的高可用服务发现目录。
https://img.shields.io/docker/pulls/autopilotpattern/consul.svg](https://registry.hub.docker.com/u/autopilotpattern/consul/) https://img.shields.io/docker/stars/autopilotpattern/consul.svg](https://registry.hub.docker.com/u/autopilotpattern/consul/)
此设计通过-bootstrap-expect标志启动所有Consul实例。该选项告知Consul预期的节点数量,并在达到该数量的服务器可用时自动引导集群。我们仍需告诉Consul如何发现其他节点,这正是Triton容器名称服务(CNS)和ContainerPilot的作用。
ContainerPilot配置包含一个管理脚本,在每个健康检查间隔运行。该脚本执行consul info并获取当前节点的对等节点数量。如果对等节点数量不等于2(总共有3个节点,但节点本身不算对等节点),脚本将尝试通过consul join命令查找其他节点。此命令使用Consul服务的Triton CNS名称。由于每个节点启动时会自动添加到CNS名称的A记录中,节点最终将找到至少一个其他节点并引导Consul Raft。
本地测试时无法访问Triton CNS,local-compose.yml文件使用v2 Compose API,自动创建用户定义网络并允许使用Docker DNS进行服务发现。
triton替代旧的sdc-* CLI工具)。通过运行./setup.sh检查环境配置是否正确。此脚本将验证环境设置并创建_env文件,其中包含注入Triton CNS中Consul服务名称的环境变量。我们将使用此CNS名称引导集群。
bash$ docker-compose up -d Creating consul_consul_1 $ docker-compose scale consul=3 Creating and starting consul_consul_2 ... Creating and starting consul_consul_3 ... $ docker-compose ps Name Command State Ports -------------------------------------------------------------------------------- consul_consul_1 /usr/local/bin/containerpilot... Up 53/tcp, 53/udp, 8300/tcp, 8301/tcp, 8301/udp, 8302/tcp, 8302/udp, 8400/tcp, 0.0.0.0:8500->8500/tcp consul_consul_2 /usr/local/bin/containerpilot... Up 53/tcp, 53/udp, 8300/tcp, 8301/tcp, 8301/udp, 8302/tcp, 8302/udp, 8400/tcp, 0.0.0.0:8500->8500/tcp consul_consul_3 /usr/local/bin/containerpilot... Up 53/tcp, 53/udp, 8300/tcp, 8301/tcp, 8301/udp, 8302/tcp, 8302/udp, 8400/tcp, 0.0.0.0:8500->8500/tcp $ docker exec -it consul_consul_3 consul info | grep num_peers num_peers = 2
Consul服务定义可直接添加到任何Docker Compose文件中。为其他服务的ContainerPilot配置设置CONSUL环境变量作为Consul目标,并使用CNS名称填充该变量。在Triton上,建议在应用容器中以coprocess方式运行Consul代理,并将该代理指向CONSUL环境变量。ContainerPilot配置的相关部分可能如下:
json{ "consul": "localhost:8500", "coprocesses": [ { "command": ["/usr/local/bin/consul", "agent", "-data-dir=/data", "-config-dir=/config", "-rejoin", "-retry-join", "{{ .CONSUL }}", "-retry-max", "10", "-retry-interval", "10s"], "restarts": "unlimited" }] } }
使用Consul代理协进程的更详细ContainerPilot配置示例可在https://github.com/autopilotpattern/nginx%E4%B8%AD%E6%89%BE%E5%88%B0%E3%80%82
Triton上Docker容器的一些特性对本服务的耐用性和可用性有特定影响:
Consul支持RPC的TLS加密和 gossip协议的对称预共享密钥加密。部署这些功能需要管理密钥,相关演示可在https://github.com/autopilotpattern/vault%E4%B8%AD%E6%89%BE%E5%88%B0%E3%80%82
本项目基于https://github.com/progrium%EF%BC%88https://github.com/gliderlabs%EF%BC%89%E7%9A%84https://github.com/gliderlabs/docker-consul/tree/legacy%E5%B7%A5%E4%BD%9C%E3%80%82%E5%BD%93%E7%84%B6%EF%BC%8C%E4%B9%9F%E7%A6%BB%E4%B8%8D%E5%BC%80https://hashicorp.com%E5%BC%80%E5%8F%91https://%5B***]
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 autopilotpattern/consul 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: