mirror of
https://github.com/newnius/Dockerfiles.git
synced 2025-06-06 08:11:54 +00:00
update kafka, add 2.1.1, 2.2.0, update README
This commit is contained in:
parent
fed0d6a0e9
commit
0a000bdcd9
@ -1,4 +1,33 @@
|
||||
TBD
|
||||
# deploy kafka with docker
|
||||
|
||||
## docker swarm
|
||||
|
||||
```bash
|
||||
docker service create \
|
||||
--name kafka_1 \
|
||||
--hostname=kafka_1 \
|
||||
--network swarm-net \
|
||||
--replicas 1 \
|
||||
--detach=true \
|
||||
--env BROKER_ID=1 \
|
||||
--env ZOOKEEPER_CONNECT=zookeeper_node1:2181,zookeeper_node2:2181,zookeeper_node3:2181 \
|
||||
--endpoint-mode dnsrr \
|
||||
newnius/kafka:2.1.0
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### By environment variable
|
||||
|
||||
Currently, properties below are supported.
|
||||
|
||||
| env | file | property |
|
||||
| --- | --- | --- |
|
||||
| BROKER_ID | server.properties | broker.id |
|
||||
| ZOOKEEPER_CONNECT | server.properties | zookeeper.connect |
|
||||
|
||||
|
||||
### By configuration file
|
||||
|
||||
```bash
|
||||
docker service create \
|
||||
@ -8,5 +37,7 @@ docker service create \
|
||||
--detach=true \
|
||||
--replicas 1 \
|
||||
--endpoint-mode dnsrr \
|
||||
--mount type=bind,src=/data/kafka/,dst=/config/kafka/,readonly \
|
||||
newnius/kafka:2.1.0
|
||||
```
|
||||
|
||||
|
20
kafka/2.1.1/Dockerfile
Normal file
20
kafka/2.1.1/Dockerfile
Normal file
@ -0,0 +1,20 @@
|
||||
FROM openjdk:8-jre-alpine
|
||||
|
||||
MAINTAINER Newnius <newnius.cn@gmail.com>
|
||||
|
||||
# Prerequisites
|
||||
RUN apk add --no-cache bash
|
||||
|
||||
# Install Kafka
|
||||
RUN wget -O kafka.tgz https://archive.apache.org/dist/kafka/2.1.1/kafka_2.12-2.1.1.tgz && \
|
||||
tar -xzf kafka.tgz -C /usr/local/ && rm kafka.tgz
|
||||
|
||||
RUN ln -s /usr/local/kafka_2.12-2.1.1 /usr/local/kafka
|
||||
|
||||
ENV KAFKA_HOME /usr/local/kafka
|
||||
|
||||
WORKDIR $KAFKA_HOME
|
||||
|
||||
ADD start_kafka.sh /etc/start_kafka.sh
|
||||
|
||||
CMD ["/etc/start_kafka.sh"]
|
43
kafka/2.1.1/README.md
Normal file
43
kafka/2.1.1/README.md
Normal file
@ -0,0 +1,43 @@
|
||||
# deploy kafka with docker
|
||||
|
||||
## docker swarm
|
||||
|
||||
```bash
|
||||
docker service create \
|
||||
--name kafka_1 \
|
||||
--hostname=kafka_1 \
|
||||
--network swarm-net \
|
||||
--replicas 1 \
|
||||
--detach=true \
|
||||
--env BROKER_ID=1 \
|
||||
--env ZOOKEEPER_CONNECT=zookeeper_node1:2181,zookeeper_node2:2181,zookeeper_node3:2181 \
|
||||
--endpoint-mode dnsrr \
|
||||
newnius/kafka:2.1.1
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### By environment variable
|
||||
|
||||
Currently, properties below are supported.
|
||||
|
||||
| env | file | property |
|
||||
| --- | --- | --- |
|
||||
| BROKER_ID | server.properties | broker.id |
|
||||
| ZOOKEEPER_CONNECT | server.properties | zookeeper.connect |
|
||||
|
||||
|
||||
### By configuration file
|
||||
|
||||
```bash
|
||||
docker service create \
|
||||
--name kafka \
|
||||
--hostname=kafka \
|
||||
--network swarm-net \
|
||||
--detach=true \
|
||||
--replicas 1 \
|
||||
--endpoint-mode dnsrr \
|
||||
--mount type=bind,src=/data/kafka/,dst=/config/kafka/,readonly \
|
||||
newnius/kafka:2.1.1
|
||||
```
|
||||
|
21
kafka/2.1.1/start_kafka.sh
Executable file
21
kafka/2.1.1/start_kafka.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
: ${EXTRA_CONF_DIR:=/config/kafka}
|
||||
|
||||
## Overide default configuration files
|
||||
if [ -d "$EXTRA_CONF_DIR" ]; then
|
||||
cp $EXTRA_CONF_DIR/* /usr/local/kafka/config
|
||||
fi
|
||||
|
||||
|
||||
if ! [[ -z "${BROKER_ID}" ]]; then
|
||||
sed -i '/broker.id=/d' /usr/local/kafka/config/server.properties
|
||||
echo "broker.id=$BROKER_ID" >> /usr/local/kafka/config/server.properties
|
||||
fi
|
||||
|
||||
if ! [[ -z "${ZOOKEEPER_CONNECT}" ]]; then
|
||||
sed -i '/zookeeper.connect=/d' /usr/local/kafka/config/server.properties
|
||||
echo "zookeeper.connect=$ZOOKEEPER_CONNECT" >> /usr/local/kafka/config/server.properties
|
||||
fi
|
||||
|
||||
bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
|
20
kafka/2.2.0/Dockerfile
Normal file
20
kafka/2.2.0/Dockerfile
Normal file
@ -0,0 +1,20 @@
|
||||
FROM openjdk:8-jre-alpine
|
||||
|
||||
MAINTAINER Newnius <newnius.cn@gmail.com>
|
||||
|
||||
# Prerequisites
|
||||
RUN apk add --no-cache bash
|
||||
|
||||
# Install Kafka
|
||||
RUN wget -O kafka.tgz https://archive.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz && \
|
||||
tar -xzf kafka.tgz -C /usr/local/ && rm kafka.tgz
|
||||
|
||||
RUN ln -s /usr/local/kafka_2.12-2.2.0 /usr/local/kafka
|
||||
|
||||
ENV KAFKA_HOME /usr/local/kafka
|
||||
|
||||
WORKDIR $KAFKA_HOME
|
||||
|
||||
ADD start_kafka.sh /etc/start_kafka.sh
|
||||
|
||||
CMD ["/etc/start_kafka.sh"]
|
43
kafka/2.2.0/README.md
Normal file
43
kafka/2.2.0/README.md
Normal file
@ -0,0 +1,43 @@
|
||||
# deploy kafka with docker
|
||||
|
||||
## docker swarm
|
||||
|
||||
```bash
|
||||
docker service create \
|
||||
--name kafka_1 \
|
||||
--hostname=kafka_1 \
|
||||
--network swarm-net \
|
||||
--replicas 1 \
|
||||
--detach=true \
|
||||
--env BROKER_ID=1 \
|
||||
--env ZOOKEEPER_CONNECT=zookeeper_node1:2181,zookeeper_node2:2181,zookeeper_node3:2181 \
|
||||
--endpoint-mode dnsrr \
|
||||
newnius/kafka:2.2.0
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### By environment variable
|
||||
|
||||
Currently, properties below are supported.
|
||||
|
||||
| env | file | property |
|
||||
| --- | --- | --- |
|
||||
| BROKER_ID | server.properties | broker.id |
|
||||
| ZOOKEEPER_CONNECT | server.properties | zookeeper.connect |
|
||||
|
||||
|
||||
### By configuration file
|
||||
|
||||
```bash
|
||||
docker service create \
|
||||
--name kafka \
|
||||
--hostname=kafka \
|
||||
--network swarm-net \
|
||||
--detach=true \
|
||||
--replicas 1 \
|
||||
--endpoint-mode dnsrr \
|
||||
--mount type=bind,src=/data/kafka/,dst=/config/kafka/,readonly \
|
||||
newnius/kafka:2.2.0
|
||||
```
|
||||
|
21
kafka/2.2.0/start_kafka.sh
Executable file
21
kafka/2.2.0/start_kafka.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
: ${EXTRA_CONF_DIR:=/config/kafka}
|
||||
|
||||
## Overide default configuration files
|
||||
if [ -d "$EXTRA_CONF_DIR" ]; then
|
||||
cp $EXTRA_CONF_DIR/* /usr/local/kafka/config
|
||||
fi
|
||||
|
||||
|
||||
if ! [[ -z "${BROKER_ID}" ]]; then
|
||||
sed -i '/broker.id=/d' /usr/local/kafka/config/server.properties
|
||||
echo "broker.id=$BROKER_ID" >> /usr/local/kafka/config/server.properties
|
||||
fi
|
||||
|
||||
if ! [[ -z "${ZOOKEEPER_CONNECT}" ]]; then
|
||||
sed -i '/zookeeper.connect=/d' /usr/local/kafka/config/server.properties
|
||||
echo "zookeeper.connect=$ZOOKEEPER_CONNECT" >> /usr/local/kafka/config/server.properties
|
||||
fi
|
||||
|
||||
bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
|
Loading…
Reference in New Issue
Block a user