# Consul 单机 Server(Docker),镜像 hashicorp/consul:1.22 # 在存放本文件的目录执行: docker compose up -d # UI / HTTP API: http://<宿主机IP>:8500 (例: 192.168.3.12:8500) # 应用侧: spring.cloud.consul.host=<宿主机IP> spring.cloud.consul.port=8500 services: consul: image: hashicorp/consul:1.22 container_name: consul restart: unless-stopped ports: - "8500:8500" # HTTP API / UI - "8300:8300" # Server RPC - "8301:8301" # LAN Serf - "8302:8302/udp" - "8302:8302/tcp" - "8600:8600/tcp" - "8600:8600/udp" # DNS command: > agent -server -bootstrap-expect=1 -ui -client=0.0.0.0 -bind=0.0.0.0 -data-dir=/consul/data volumes: - consul-data:/consul/data # 若夸主机访问 RPC 异常,可在宿主机上改为显式 advertise(示例,按实际 IP 修改): # command: > # agent -server -bootstrap-expect=1 -ui -client=0.0.0.0 -bind=0.0.0.0 # -advertise=192.168.3.12 -data-dir=/consul/data volumes: consul-data: