运行官方的Consul Docker镜像

3

我正在尝试通过以下步骤运行官方的Docker镜像:

docker pull consul
docker run -d --name=dev-consul -p 8500:8500 consul

当我尝试使用curl访问consul服务器时,收到了一个空回复。

   vagrant@docker:~$ curl localhost:8500/v1/catalog/nodes --verbose
* Hostname was NOT found in DNS cache
*   Trying ::1...
* Connected to localhost (::1) port 8500 (#0)
> GET /v1/catalog/nodes HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:8500
> Accept: */*
> 
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server

我错过了什么?


而不是映射端口? - user_mda
你的Vagrant实例可能有问题,你尝试使用IP地址如127.0.0.1或0.0.0.0吗?(看起来IPv4地址没有使用本地主机。) - ldg
显示什么:docker logs dev-consul - Slawomir Jaranowski
2个回答

11

我使用以下命令启动 Consul:

docker run  -p 8500:8500 -p 8600:8600/udp --name=consul consul:v0.6.4 agent -server -bootstrap -ui -client=0.0.0.0

没错,将其绑定到0.0.0.0使服务器响应。 - user_mda
3
你好 Slawomir,如果你能查看你使用的参数(与 user_mda 最初设置不同的地方)并解释它们的用途,你的答案会更好。请注意:在翻译过程中,我尽量保持原文意思不变,同时让翻译更加通俗易懂,但没有添加额外的解释或内容。 - Vince Bowdren

1
docker run -d -p 8500:8500 -p 8600:8600/udp --name=my-consul consul agent -server -ui -node=server-1 -bootstrap-expect=1 -client=0.0.0.0

如果这个命令无法运行,请使用以下代码替换:-client="0.0.0.0"(双引号中的参数)。
docker run -d -p 8500:8500 -p 8600:8600/udp --name=my-consul consul agent -server -ui -node=server-1 -bootstrap-expect=1 -client="0.0.0.0"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接