0

我用这个:

https://github.com/Mashape/docker-kong/tree/master/compose

通过 docker compose 在 Docker 上本地运行 Kong。一旦我运行docker-compose up,我的日志中就会不断出现这个错误:

consul_1 | 2017/05/29 08:44:05 [INFO] raft: Node at 172.17.0.4:8300 [Candidate] entering Candidate state
consul_1 | 2017/05/29 08:44:05 [ERR] raft: Failed to make RequestVote RPC to 172.17.0.3:8300: dial tcp 172.17.0.3:8300: connection refused
consul_1 | 2017/05/29 08:44:05 [ERR] raft: Failed to make RequestVote RPC to 172.17.0.2:8300: dial tcp 172.17.0.2:8300: connection refused
consul_1 | 2017/05/29 08:44:06 [ERR] agent: failed to sync changes: No cluster leader
consul_1 | 2017/05/29 08:44:06 [ERR] agent: failed to sync changes: No cluster leader
consul_1 | 2017/05/29 08:44:06 [ERR] agent: failed to sync changes: No cluster leader

我在谷歌上搜索,但没有找到任何具体的答案。

4

1 回答 1

1

发生这种情况是因为 consul 对其初始分配的本地 IP (172.17 ....) 进行了“硬编码”,然后当您再次运行 docker-compose 时,它​​需要一个新 IP,因此让我们的朋友感到困惑consul

因此,作为简单的解决方法,您可以docker-compose rm consul重新开始docker-compose up。但请记住,您可能会丢失领事的数据(即键/值存储,但我不知道您的应用程序是否正在使用它)

作为一个更好的解决方法(它对我有用),添加-client=0.0.0.0告诉领事硬编码更好的东西。

在 docker-compose.yml 中:

consul:
  image: progrium/consul:latest
  command: -server -bootstrap -ui-dir /ui -client=0.0.0.0
于 2017-05-29T14:22:57.880 回答