gpt4 book ai didi

docker - 为什么我的服务无法与Docker群的覆盖网络中的其他服务通信?

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

我无法从群集内覆盖网络中的其他容器与我的架构注册表和kafka-rest服务进行通信。

在配置节点并将它们加入群集之后,我使用以下命令创建了一个覆盖网络:

docker network create -d overlay --attachable kafka-net

我使用以下命令创建了每个服务:

https://gist.github.com/jhines2k7/4c9e8d4c2c6ac60a076072cc28fad998

该服务运行正常。这是schema-registry服务的日志输出:

https://gist.github.com/jhines2k7/39d6c6bc3dea5d1065718e87d7e3710a

群中的所有服务均正常运行:

https://gist.github.com/jhines2k7/dc2ca41ebbf09c9fdf08e6527b72418a

我可以与网络中的其他容器进行通信:

https://gist.github.com/jhines2k7/c746008e9da79f8e69a668751acfa602

所有命令均在运行Ubuntu 17.10的DigitalOcean Droplet上运行
Docker版本17.12.0-CE
docker-machine版本0.14.0

最佳答案

通过为SCHEMA_REGISTRY_LISTENERS env变量提供适当的值,我能够解决此问题。之前,我创建架构注册服务的命令如下所示:

docker service create \
--network=kafka-net \
--name=schema-registry \
-e SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL=zk1:22181 \
-e SCHEMA_REGISTRY_HOST_NAME=schema-registry \
-e SCHEMA_REGISTRY_LISTENERS=http://schema-registry:8081 \
--constraint "engine.labels.node.type==webtools" \
confluentinc/cp-schema-registry:4.0.0

注意SCHEMA_REGISTRY_LISTENERS环境变量的值。将值从 http://schema-registry:8081更改为 http://0.0.0.0:8081后...
docker service create \
--network=kafka-net \
--name=schema-registry \
-e SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL=zk1:22181 \
-e SCHEMA_REGISTRY_HOST_NAME=schema-registry \
-e SCHEMA_REGISTRY_LISTENERS=http://0.0.0.0:8081 \
--constraint "engine.labels.node.type==webtools" \
confluentinc/cp-schema-registry:4.0.0

我的架构注册服务能够与群集中的其他服务进行通信。

关于docker - 为什么我的服务无法与Docker群的覆盖网络中的其他服务通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49245035/

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