gpt4 book ai didi

networking - 尝试从 Docker 容器中访问 etcd 时获取 "connection refused"

转载 作者:行者123 更新时间:2023-12-02 18:01:10 27 4
gpt4 key购买 nike

我正在尝试从正在运行的 Docker 容器中访问 etcd。当我跑

curl http://172.17.42.1:4001/v2/keys

我得到
curl: (7) Failed to connect to 172.17.42.1 port 4001: Connection refused

我还有其他四台主机可以正常工作,但是这台机器上的每个容器都有这个问题。我真的不知道发生了什么,我不知道如何调试它。

我的 etcd 环境变量是
ETCD_ADVERTISE_CLIENT_URLS=http://10.242.10.2:2379
ETCD_DISCOVERY=https://discovery.etcd.io/<token_removed>
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.242.10.2:2380
ETCD_LISTEN_CLIENT_URLS=http://10.242.10.2:2379,http://127.0.0.1:2379,http://0.0.0.0:4001
ETCD_LISTEN_PEER_URLS=http://10.242.10.2:2380

我还可以从主机访问 etcd
curl http://localhost:4001/v2/keys

所以从容器路由到主机时似乎有一些错误。但我无法弄清楚它是什么。任何人都可以指出我正确的方向吗?

最佳答案

我观察到我必须使用 --advertise-client-urls 和 --listen-client-urls。像这样:

./etcd --advertise-client-urls 'http://0.0.0.0:2379,http://0.0.0.0:4001' --listen-client-urls 'http://0.0.0.0:2379,http://0.0.0.0:4001'

然后我能够成功地做到
curl -L http://hostname:2379/version

从任何可以到达该服务器的机器上运行,并且可以正常工作。

关于networking - 尝试从 Docker 容器中访问 etcd 时获取 "connection refused",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134126/

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