-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: add basic docker-compose file and instructions #4175
docs: add basic docker-compose file and instructions #4175
Conversation
Public dockerHub? We have stuff here already https://hub.docker.com/r/confluentinc/ksqldb-server |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you mentioned, it would be good to have this be done without the need for aws ecr, if possible.
I will let you make the call and merge when ready.
docker-compose.yml
Outdated
SCHEMA_REGISTRY_HOST_NAME: schema-registry | ||
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper:32181 | ||
|
||
ksqldb-server-primary: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we just say ksqldb-server-1 and ksqldb-server-2? We can't really control active/standby assignment and ensure this container will be active always right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not about active / standby. It's about scaling the cluster.
The primary is at a known address and can't be scaled. The other is at an unknown address and can be scaled.
I originally started with server-1 and server-2, but the command line is better this way around e.g. docker-compose up -scale ksqldb-server 3
= 4 node cluster.
Might switch ksqldb-server
to additional-ksqldb-server
e.g. docker-compose up -scale addtional-ksqldb-server 3
, which is probably more intuitive that its a 4 node cluster.
- "8088:8088" | ||
environment: | ||
KSQL_LISTENERS: http://0.0.0.0:8088 | ||
KSQL_BOOTSTRAP_SERVERS: kafka:9092 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just want to check if this should be 29092? since thats the port that gets exposed for the kafka container?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is correct.
FYI - if you want to build the image without ECR you can change the dockerfile not to depend on |
Also cc @MichaelDrogalis @derekjn - do we want to have this docker compose in the repo differ from whats on https://ksqldb.io/quickstart.html? |
I think it's fine if they're different. The quickstart is for getting a minimal development environment up and running. As long as the same images are being used everywhere, I don't think there is a need to maintain uniformity across all of the different |
I'm aware, but its the build that depends on our ECR.
Good to know - I'll take a look. However if this something we want to do? I'm not sure of the repercussions... It seems our only unavailable dependency is I'll raise follow up if we're switching base image.
Ah, didn't know about that. We should maybe keep them inline, the difference between the one in this PR and the one in the example is:
cc @JimGalasyn |
@big-andy-coates This is awesome! @ybyzek may find it useful, too. I'll copy it over to the |
Description
Added a sample docker-compose file with some steps for how to use. Brings up multi-node KSQL with dependants.
Only outstanding issue is it doesn't look like community members can build docker images locally, as they won't have access to a AWS based docker repo, right? Does anyone know a way around this, or plans to make this publicly available? cc @apurvam @rodesai @agavra
Testing done
manually checked it all works.
Reviewer checklist