Docker REST Proxy image for the Confluent Open Source Platform using Oracle JDK
3.2.2
(3.2.2/Dockerfile)3.3.0
(3.3.0/Dockerfile)3.3.1
,latest
(3.3.1/Dockerfile)
All tag names follow the naming convention of the Confluent Open Source Platform
- Debian "slim" image variant
- Oracle JDK 8u152 addded, without MissionControl, VisualVM, JavaFX, ReadMe files, source archives, etc.
- Oracle Java Cryptography Extension added
- Python 2.7.9-1 & pip 9.0.1 added
- SHA 256 sum checks for all downloads
- JAVA_HOME environment variable set up
- Utility scripts added:
- Confluent utility belt script ('cub') - a Python CLI for a Confluent tool called docker-utils
- Docker utility belt script ('dub')
- Confluent REST Proxy added
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:
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
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
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
.