Skip to content

Commit

Permalink
Improve docker instructions
Browse files Browse the repository at this point in the history
Signed-off-by: Andrew Schofield <[email protected]>
  • Loading branch information
AndrewJSchofield committed May 29, 2020
1 parent 0722e1c commit 8f7185f
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 <namespace> apply -f kafka-connect.yaml`
Expand Down

0 comments on commit 8f7185f

Please sign in to comment.