Docker Schema Registry 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 Schema Registry 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 Schema Registry added on top of it, installed using the following Confluent Debian package:
confluent-schema-registry-2.11
Build the image
docker build -t mbe1224/confluent-schema-registry ./3.3.1/
Run the container
docker run -d \
--net=host \
--name=schema-registry \
-e SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL=localhost:32181 \
-e SCHEMA_REGISTRY_HOST_NAME=localhost \
-e SCHEMA_REGISTRY_LISTENERS=http://localhost:8081 \
mbe1224/confluent-schema-registry
One can use the following environment variables for configuring the ZooKeeper node:
# | Name | Default value | Meaning | Comments |
---|---|---|---|---|
1 | SCHEMA_REGISTRY_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 | SCHEMA_REGISTRY_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 | SCHEMA_REGISTRY_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 | SCHEMA_REGISTRY_HOST_NAME | - | The host name advertised in Zookeeper | Required if running Schema Registry with multiple nodes |
5 | SCHEMA_REGISTRY_JMX_OPTS | - | JMX options used for monitoring | SCHEMA_REGISTRY_OPTS should contain 'com.sun.management.jmxremote.rmi.port' property |
6 | SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS | - | A list of Kafka brokers to connect to | If this configuration is not specified, the Schema Registry’s internal Kafka clients will get their Kafka bootstrap server list from ZooKeeper (configured with kafkastore.connection.url). Note that if kafkastore.bootstrap.servers is configured, kafkastore.connection.url still needs to be configured, too. |
7 | SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL | - | Zookeeper url for the Kafka cluster | Required |
8 | SCHEMA_REGISTRY_LISTENERS | 8081 | Port for incomming connections | - |
9 | SCHEMA_REGISTRY_LOG4J_LOGGERS | - | - | - |
10 | SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL | INFO | - | - |
Moreover, one can use any of the properties specified in the Configuration Options by replacing "." with "_" and appending "SCHEMA_REGISTRY_" before the property name. For example, instead of kafkastore.connection.url
use SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL
.