架构registry容器:使用docker-compose启动时,服务器意外终止

我已经写了docker-compose.yml文件来创build下列容器:

  • 汇合动物园pipe理员
  • 汇合卡夫卡
  • 汇合模式registry

我想要一个单一的docker-compose文件来创build必要的容器,公开所需的端口并互连相关的容器。 目标是让我使用Docker Hub的官方融合图像。 我的docker-compose文件如下所示:

zookeeper: image: confluent/zookeeper container_name: confluent-zookeeper hostname: zookeeper environment: ZOOKEEPER_CLIENT_PORT: 2181 ports: - "2181:2181" kafka: environment: KAFKA_ZOOKEEPER_CONNECTION_STRING: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 image: confluent/kafka container_name: confluent-kafka hostname: kafka links: - zookeeper ports: - "9092:9092" schema-registry: image: confluent/schema-registry container_name: confluent-schema_registry environment: SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper:2181 SCHEMA_REGISTRY_HOSTNAME: schema-registry SCHEMA_REGISTRY_LISTENERS: http://schema-registry:8081 SCHEMA_REGISTRY_DEBUG: 'true' SCHEMA_REGISTRY_KAFKASTORE_TOPIC_REPLICATION_FACTOR: '1' links: - kafka - zookeeper ports: - "8081:8081" 

现在,当我运行docker-compose up ,所有这些容器都将被创build并启动。 但架构registry容器立即退出。 docker logs给出了以下输出:

  (io.confluent.kafka.schemaregistry.rest.SchemaRegistryConfig:135) [2017-05-17 06:06:33,415] ERROR Server died unexpectedly: (io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain:51) org.apache.kafka.common.config.ConfigException: Only plaintext and SSL Kafka endpoints are supported and none are configured. at io.confluent.kafka.schemaregistry.storage.KafkaStore.getBrokerEndpoints(KafkaStore.java:254) at io.confluent.kafka.schemaregistry.storage.KafkaStore.<init>(KafkaStore.java:111) at io.confluent.kafka.schemaregistry.storage.KafkaSchemaRegistry.<init>(KafkaSchemaRegistry.java:136) at io.confluent.kafka.schemaregistry.rest.SchemaRegistryRestApplication.setupResources(SchemaRegistryRestApplication.java:53) at io.confluent.kafka.schemaregistry.rest.SchemaRegistryRestApplication.setupResources(SchemaRegistryRestApplication.java:37) at io.confluent.rest.Application.createServer(Application.java:117) at io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain.main(SchemaRegistryMain.java:43) 

我search这个问题,但没有任何帮助。 我尝试了各种其他configuration,如提供KAFKA_ADVERTISED_HOSTNAME,更改SCHEMA_REGISTRY_LISTENERS值等,但没有运气。 任何人都可以指出为什么架构registry容器失败的确切configuration问题?

缺less容器中的主机名( hostname: schema-registry )条目。 默认情况下,Docker将使用链接容器的别名和名称以及自身的主机名来填充容器的/etc/hosts

那些旧的和不赞成的docker图像。 使用来自confluentinc的最新支持的docker镜像https://hub.docker.com/u/confluentinc/