/docker-confluent-rest-proxy

Docker REST Proxy image for the Confluent Open Source Platform using Oracle JDK

MIT LicenseMIT

Supported tags and respective Dockerfile links:

All tag names follow the naming convention of the Confluent Open Source Platform

Summary:

Details:

This image was created with the sole purpose of offering the Confluent Open Source Platform running on top of Oracle JDK. Therefore, it follows the same structure as the one from the original repository. More precisely:

  • tag 3.2.2 follows branch 3.2.x, and
  • tags 3.3.0, 3.3.1 andlatest follow branch 3.3.x

Apart of the base image (mbe1224/confluent-base), it has REST Proxy added on top of it, installed using the following Confluent Debian package:

  • confluent-kafka-rest-2.11

Usage:

Build the image

docker build -t mbe1224/confluent-rest-proxy ./3.3.1/

Run the container

docker run -d \
    --net=host \
    --name=kafka-rest \
    -e KAFKA_REST_ZOOKEEPER_CONNECT=localhost:32181 \
    -e KAFKA_REST_LISTENERS=http://localhost:8082 \
    -e KAFKA_REST_SCHEMA_REGISTRY_URL=http://localhost:8081 \
    mbe1224/confluent-rest-proxy

Environment variables:

One can use the following environment variables for configuring the ZooKeeper node:

# Name Default value Meaning Comments
1 KAFKA_REST_CUB_KAFKA_MIN_BROKERS 1 Expected number of brokers in the cluster Check the Confluent utility belt script ('cub') - check_kafka_ready for more details
2 KAFKA_REST_CUB_KAFKA_TIMEOUT 40 Time in secs to wait for the number of Kafka nodes to be available. Check the Confluent utility belt script ('cub') - check_kafka_ready for more details
3 KAFKA_REST_CUB_ZK_TIMEOUT 40 Time in secondss to wait for the Zookeeper to be available Check the Confluent utility belt script ('cub') - check_zookeeper_ready for more details
4 KAFKA_REST_HOST_NAME - The host name used to generate absolute URLs in responses Required
5 KAFKA_REST_ID - Unique ID for this REST server instance This is used in generating unique IDs for consumers that do not specify their ID. The ID is empty by default, which makes a single server setup easier to get up and running, but is not safe for multi-server deployments where automatic consumer IDs are used
6 KAFKA_REST_JMX_OPTS - JMX options used for monitoring KAFKA_REST_OPTS should contain 'com.sun.management.jmxremote.rmi.port' property
7 KAFKA_REST_LISTENERS 8082 Port for incomming connections -
8 KAFKA_REST_LOG4J_LOGGERS - - -
9 KAFKA_REST_LOG4J_ROOT_LOGLEVEL INFO - -
10 KAFKA_REST_ZOOKEEPER_CONNECT - Specifies the ZooKeeper connection string in the form hostname:port where host and port are the host and port of a ZooKeeper server To allow connecting through other ZooKeeper nodes when that ZooKeeper machine is down you can also specify multiple hosts in the form hostname1:port1,hostname2:port2,hostname3:port3

Moreover, one can use any of the properties specified in the Configuration Options by replacing "." with "_" and appending "KAFKA_REST_" before the property name. For example, instead of schema.registry.url use KAFKA_REST_SCHEMA_REGISTRY_URL.

Dual licensed under: