用于Confluent的Docker映像-添加Confluent Hub连接器

问题描述

我想对Confluent的Git存储库Dockerfile进行一些修改,使其在我的Confluent Connect页面中具有mongoDB和SNowflake连接。一切正常,但我在门户中看不到它们。

docker-compose.yml也应该被修改吗?

原始代码

FROM confluentinc/cp-server-connect-base:5.5.1

ENV CONNECT_PLUGIN_PATH="/usr/share/java,/usr/share/confluent-hub-components"

ARG CONNECTOR_NAME
RUN confluent-hub install --no-prompt confluentinc/${CONNECTOR_NAME}:5.5.0

修改后的代码

FROM confluentinc/cp-server-connect-base:5.5.1

ENV CONNECT_PLUGIN_PATH="/usr/share/java,/usr/share/confluent-hub-components"

ARG CONNECTOR_NAME
RUN confluent-hub install --no-prompt confluentinc/${CONNECTOR_NAME}:5.5.0 \
   && confluent-hub install --no-prompt mongodb/kafka-connect-mongodb:1.2.0 \
   && confluent-hub install --no-prompt sNowflakeinc/sNowflake-kafka-connector:1.4.3

解决方法

我认为您可以尝试执行以下操作。

  1. 修改您的Dockerfile
FROM confluentinc/cp-server-connect-base:5.5.1

ENV CONNECT_PLUGIN_PATH="/usr/share/java,/usr/share/confluent-hub-components"

RUN confluent-hub install --no-prompt mongodb/kafka-connect-mongodb:1.2.0 \
   && confluent-hub install --no-prompt snowflakeinc/snowflake-kafka-connector:1.4.3

由于只需要安装mongodbsnowflake连接器。

  1. docker-compose.yml中使用您的自定义图片:
...
  connect:
    # image: cnfldemos/cp-server-connect-datagen:0.3.2-5.5.0
    build: .
    hostname: connect
    container_name: connect
...