From 8f7185f1cb392874ba7fdd8a948260fce05bcfb2 Mon Sep 17 00:00:00 2001 From: Andrew Schofield Date: Fri, 29 May 2020 17:05:13 +0100 Subject: [PATCH] Improve docker instructions Signed-off-by: Andrew Schofield --- README.md | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c3fa619..1ce8bdb 100644 --- a/README.md +++ b/README.md @@ -85,14 +85,24 @@ curl -X POST -H "Content-Type: application/json" http://localhost:8083/connector ## Running with Docker -This repository includes a Dockerfile to run Kafka Connect in distributed mode. It also adds in the MQ sink connector as an available connector plugin. It uses the default connect-distributed.properties and connect-log4j.properties files. +This repository includes an example Dockerfile to run Kafka Connect in distributed mode. It also adds in the MQ sink connector as an available connector plugin. It uses the default `connect-distributed.properties` and `connect-log4j.properties` files. 1. `mvn clean package` -1. `docker build -t kafkaconnect-with-mq-sink:0.0.1 .` -1. `docker run -p 8083:8083 kafkaconnect-with-mq-sink:0.0.1` +1. `docker build -t kafkaconnect-with-mq-sink:1.3.0 .` +1. `docker run -p 8083:8083 kafkaconnect-with-mq-sink:1.3.0` -**NOTE:** To provide custom properties files create a folder called `config` containing the `connect-distributed.properties` and `connect-log4j.properties` files and use a Docker volume to make them available when running the container: -`docker run -v $(pwd)/config:/opt/kafka/config -p 8083:8083 kafkaconnect-with-mq-sink:0.0.1` +**NOTE:** To provide custom properties files create a folder called `config` containing the `connect-distributed.properties` and `connect-log4j.properties` files and use a Docker volume to make them available when running the container like this: + +``` shell +docker run -v $(pwd)/config:/opt/kafka/config -p 8083:8083 kafkaconnect-with-mq-sink:1.3.0 +``` + +To start the MQ connector, you can use `config/mq-sink.json` in this repository after replacing all placeholders and use a command like this: + +``` shell +curl -X POST -H "Content-Type: application/json" http://localhost:8083/connectors \ + --data "@./config/mq-sink.json" +``` ## Deploying to Kubernetes @@ -115,7 +125,7 @@ Create ConfigMap for Kafka Connect Log4j configuration: ### Creating Kafka Connect deployment and service in Kubernetes -**NOTE:** Remember to [build the Docker image](#running-with-docker) and push it to your Kubernetes image repository. You might need to update the image name in the `kafka-connect.yaml` file. +**NOTE:** You will need to [build the Docker image](#running-with-docker) and push it to your Kubernetes image repository. Remember that the supplied Dockerfile is just an example and you will have to modify it for your needs. You might need to update the image name in the `kafka-connect.yaml` file. 1. Update the namespace in `kafka-connect.yaml` 1. `kubectl -n apply -f kafka-connect.yaml`