gpt4 book ai didi

docker - 无法使用docker-compose运行Registrator。获取连接被拒绝错误

转载 作者:行者123 更新时间:2023-12-02 19:38:22 26 4
gpt4 key购买 nike

我的本地计算机上有Consul和一堆服务。现在,我想使用Registrator在Consul中实现服务注册。如果我这样做:

$ docker run -d --name registrator --net=host \
--volume /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator \
consul://127.0.0.1:8500

在运行了一些服务之后,我看到它们已在领事馆中注册。但是,如果我尝试通过docker-compose.yml这样做(因为我不想每次都手动运行以上命令):
version: '2'
services:
consul:
image: gliderlabs/consul-server:latest
command: "advertise=127.0.0.1 -server -bootstrap"
container_name: consul
hostname: 127.0.0.1
ports:
- "8500:8500"
registrator:
image: gliderlabs/registrator:latest
command: "consulL//127.0.0.1:8500"
container_name: registrator
hostname: 127.0.0.1
depends_on:
- consul
volumes:
- /var/run/docker.sock:/tmp/docker.sock

... other services that need to be registered

并运行:
$ docker-compose up

然后我在控制台中看到此错误消息:
registrator | 2017/01/16 17:01:24 Get http://127.0.0.1:8500/v1/status/leader dial tcp 127.0.0.1:8500: connection refused

我想我的问题与事实有关,我没有指定 --net=host。但是我不知道该怎么办。我希望有人知道如何解决它。

最佳答案

Docker-compose默认为docker-compose.yml为您的所有服务创建新网络。如果需要将容器连接到主机网络,请添加到服务网络模式参数:

...
registrator:
network_mode: host
...

关于docker - 无法使用docker-compose运行Registrator。获取连接被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41681944/

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