docker - 无法在模式注册表 docker 和 kafka 代理之间建立连接
问题描述
我正在使用以下代码运行模式注册表服务器:
version: "2.2"
services:
schema-registry:
container_name: schema-registry
image: confluentinc/cp-schema-registry:5.5.0
restart: always
volumes:
- ./config:/tmp/conf
ports:
- "8081:8081"
environment:
- SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS=localhost:9092
- SCHEMA_REGISTRY_KAFKASTORE_TOPIC=_schemas
- SCHEMA_REGISTRY_HOST_NAME=schema-registry
- SCHEMA_REGISTRY_LISTENERS=http://0.0.0.0:8081
- SCHEMA_REGISTRY_DEBUG=true
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
logging:
driver: json-file
options:
max-size: "100m"
max-file: "3"
使用 docker compose up 部署它后,出现以下错误:
[kafka-admin-client-thread | adminclient-1] WARN org.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
Kafka 在本地运行(它不在 docker 中运行),顺便说一下,kafka 服务器属性具有以下配置:
经纪人.id=0
listeners=PLAINTEXT://localhost:9092
listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
解决方案
正如 Chris 所说,您需要将 Schema Registry Docker 容器连接到本地机器。要么,要么在 Docker 中运行 Kafka(或者在本地运行 Schema Registry,例如从作为 Confluent Platform 的一部分提供的 tarbar)
推荐阅读
- php - 在 Woocommerce 打印发票和装箱单中显示订单自定义元数据
- excel - 如何在 Beyond Compare 中查看 Excel 工作簿的 xltrail 生成差异?
- javascript - 带有对象数组的待办事项列表应用程序的 handleRemove 函数
- angular - 将复选框直接绑定到 ngModel 的 id 列表
- powershell - Powershell按特定字符对字符串数组进行排序
- javascript - TypeIt.js:完成每个字符串后的空容器
- excel - 访问父级的 get 属性会给出“对象变量或带有块...”错误
- python - 我怎样才能修复这个毕达哥拉斯三胞胎程序?
- windows - 是否可以通过单击/触摸 Windows 屏幕来打开电子应用程序?
- python-3.x - 如何在不丢失opencv信息的情况下分割手写和打印的数字?