gpt4 book ai didi

docker - 使用Consul的Docker的容器通信

转载 作者:行者123 更新时间:2023-12-02 18:57:09 26 4
gpt4 key购买 nike

我已经阅读了有关使用Consul进行Docker服务发现的信息,但我听不懂。

您能否向我解释,我该如何运行两个docker容器,使用Consul从第二个容器的第一个容器主机中识别并向其发送消息?

最佳答案

您将需要在每个Docker容器内以客户端模式运行Consul Agent。每个Docker容器都需要一个Consul Service Definition文件,以使代理知道将其服务广告到Consul服务器。

他们看起来像这样:

{
"service": {
"name": "redis",
"tags": ["master"],
"address": "127.0.0.1",
"port": 8000,
"checks": [
{
"script": "/usr/local/bin/check_redis.py",
"interval": "10s"
}
]
}
}

还有一个 Service Health Check来监视服务的运行状况。像这样:
{
"check": {
"id": "redis",
"name": "Redis",
"script": "/usr/local/bin/check_redis_ping_returns_pong.sh",
"interval": "10s"
}
}

在另一个Docker容器中,您的代码将通过DNS或Consul Servers HTTP API找到Redis服务
dig @localhost -p 8500 redis.service.consul

curl $CONSUL_SERVER/v1/health/service/redis?passing

关于docker - 使用Consul的Docker的容器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28818522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com