- Docker version 17.06.1-ce
- Docker Compose version 1.14.0 with Docker Compose file format 2.1
- Confluent Cloud CLI
- An initialized Confluent Cloud cluster used for development only
Note: Use this in a non-production Confluent Cloud instance for development purposes only.
On the host from which you are running Docker, ensure that you have properly initialized Confluent Cloud CLI and have a valid configuration file at $HOME/.ccloud/config
. Example file:
$ cat $HOME/.ccloud/config
bootstrap.servers=<BROKER ENDPOINT>
ssl.endpoint.identification.algorithm=https
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username\="<API KEY>" password\="<API SECRET>";
# If you are using Confluent Cloud Schema Registry, add the following configuration parameters
basic.auth.credentials.source=USER_INFO
schema.registry.basic.auth.user.info=<SR API KEY>:<SR API SECRET>
schema.registry.url=https://<SR ENDPOINT>
By default, the demo uses Confluent Schema Registry running in a local Docker container. If you prefer to use Confluent Cloud Schema Registry instead, you need to first set it up:
a. Enable Confluent Cloud Schema Registry prior to running the demo
b. Validate your credentials to Confluent Cloud Schema Registry
$ curl -u <SR API KEY>:<SR API SECRET> https://<SR ENDPOINT>/subjects
Generate a file of ENV variables used by Docker to set the bootstrap servers and security configuration. (See documentation for more information on using this script.)
a. If you want to use Confluent Schema Registry running in a local Docker container:
$ ../ccloud/ccloud-generate-cp-configs.sh $HOME/.ccloud/config schema_registry_docker.config
b. If you want to use Confluent Cloud Schema Registry:
$ ../ccloud/ccloud-generate-cp-configs.sh $HOME/.ccloud/config
Source the generated file of ENV variables
$ source ./delta_configs/env.delta
Make sure you completed the steps in the Setup section above before proceeding.
You may bring up all services in the Docker Compose file at once or individually.
$ docker-compose up -d
If you are not using Confluent Cloud Schema Registry:
$ docker-compose up -d schema-registry
$ docker-compose up -d connect
$ docker-compose up -d control-center
$ docker-compose up -d ksql-server
$ docker-compose up -d ksql-cli
$ docker-compose up -d rest-proxy