我正在尝试从正在运行的 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
所以从容器路由到主机时似乎出现了一些错误。但我无法弄清楚它是什么。谁能指出我正确的方向?