领事代理。检查套接字连接失败:error="dial tcp 172.19.0.6:50044: connect: connection refused"
Consul agent. Check socket connection failed: error="dial tcp 172.19.0.6:50044: connect: connection refused"
我在 consul docker 设置中遇到微服务健康检查问题,我认为这是服务发现失败的症状,因为我的注册表中只有一台服务器。
下面是 docker 容器中的成员列表。
/ # consul members
Node Address Status Type Build Protocol DC Segment
7b1edb14a647 172.19.0.6:8301 alive server 1.7.4 2 dc1 <all>
/ #
Consul 容器日志对所有微服务重复以下相同错误:
consul | 2020-06-16T12:19:11.087Z [WARN] agent: Check socket connection failed: check=service:ffa44b66c4869601c04abdbea6dc5be5 error="dial tcp 172.19.0.6:50044: connect: connection refused"
我正在使用 docker-compose v.3.2 为容器创建网络。
这是一个 consul 服务定义
consul:
container_name: consul
ports:
- '8400:8400'
- '8500:8500'
- '8600:53/udp'
image: consul
command: ['agent', '-server', '-bootstrap', '-ui', '-client', '0.0.0.0']
微服务定义
service-notification:
build:
context: .
dockerfile: apps/service-notification/Dockerfile
args:
NODE_ENV: development
depends_on:
- consul
image: 'service-notification:latest'
restart: always
environment:
- CONSUL_HOST=consul
ports:
- '50044:50044'
我正在使用 CONSUL_HOST
环境变量来传递正确的主机 url。
微服务的 Consul 配置
consul:
host: ${{CONSUL_HOST}}
port: 8500
service:
discoveryHost: ${{CONSUL_HOST}}
healthCheck:
timeout: 1s
interval: 10s
tcp: ${{ service.discoveryHost }}:${{ service.port }}
maxRetry: 5
retryInterval: 5000
tags: ["v1.0.0", "microservice"]
name: io.ultimatebackend.srv.notification
port: 50044
到目前为止,我的结论是领事服务器容器无法以某种方式到达代理。但我不知道为什么,我觉得我缺少领事结构的一些明显和平。请指教
我没有正确配置我的服务。 dicoveryHost 应该是 docker 网络内微服务的 IP 和端口。
我在 consul docker 设置中遇到微服务健康检查问题,我认为这是服务发现失败的症状,因为我的注册表中只有一台服务器。
下面是 docker 容器中的成员列表。
/ # consul members
Node Address Status Type Build Protocol DC Segment
7b1edb14a647 172.19.0.6:8301 alive server 1.7.4 2 dc1 <all>
/ #
Consul 容器日志对所有微服务重复以下相同错误:
consul | 2020-06-16T12:19:11.087Z [WARN] agent: Check socket connection failed: check=service:ffa44b66c4869601c04abdbea6dc5be5 error="dial tcp 172.19.0.6:50044: connect: connection refused"
我正在使用 docker-compose v.3.2 为容器创建网络。
这是一个 consul 服务定义
consul:
container_name: consul
ports:
- '8400:8400'
- '8500:8500'
- '8600:53/udp'
image: consul
command: ['agent', '-server', '-bootstrap', '-ui', '-client', '0.0.0.0']
微服务定义
service-notification:
build:
context: .
dockerfile: apps/service-notification/Dockerfile
args:
NODE_ENV: development
depends_on:
- consul
image: 'service-notification:latest'
restart: always
environment:
- CONSUL_HOST=consul
ports:
- '50044:50044'
我正在使用 CONSUL_HOST
环境变量来传递正确的主机 url。
微服务的 Consul 配置
consul:
host: ${{CONSUL_HOST}}
port: 8500
service:
discoveryHost: ${{CONSUL_HOST}}
healthCheck:
timeout: 1s
interval: 10s
tcp: ${{ service.discoveryHost }}:${{ service.port }}
maxRetry: 5
retryInterval: 5000
tags: ["v1.0.0", "microservice"]
name: io.ultimatebackend.srv.notification
port: 50044
到目前为止,我的结论是领事服务器容器无法以某种方式到达代理。但我不知道为什么,我觉得我缺少领事结构的一些明显和平。请指教
我没有正确配置我的服务。 dicoveryHost 应该是 docker 网络内微服务的 IP 和端口。