64 lines
2.1 KiB
Docker
64 lines
2.1 KiB
Docker
FROM [[ .docker.repo ]][[ .docker.base_images.java17.image ]] AS builder
|
|
|
|
ARG KAFKA_VERSION=[[ .kafka.broker.version ]] \
|
|
SCALA_VERSION=2.13
|
|
|
|
ADD https://www.apache.org/dyn/closer.cgi?action=download&filename=kafka/${KAFKA_VERSION}/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz
|
|
ADD https://www.apache.org/dyn/closer.cgi?action=download&filename=kafka/${KAFKA_VERSION}/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz.asc /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz.asc
|
|
ADD https://downloads.apache.org/kafka/KEYS /tmp/
|
|
|
|
RUN set -ex &&\
|
|
apk add --no-cache \
|
|
curl \
|
|
ca-certificates \
|
|
gnupg \
|
|
tar \
|
|
gzip \
|
|
&&\
|
|
cd /tmp &&\
|
|
export GNUPGHOME="$(mktemp -d)" &&\
|
|
gpg --import KEYS &&\
|
|
gpg --batch --verify kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz.asc kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz &&\
|
|
tar xvf kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz &&\
|
|
mv kafka_${SCALA_VERSION}-${KAFKA_VERSION} /opt/kafka &&\
|
|
rm -rf /opt/kafka/bin/windows /opt/kafka/site-docs
|
|
|
|
FROM [[ .docker.repo ]][[ .docker.base_images.java17.image ]]
|
|
MAINTAINER [[ .docker.maintainer ]]
|
|
|
|
ENV PATH=/opt/kafka/bin:$PATH \
|
|
KAFKA_DATA_DIR=/data \
|
|
KAFKA_CONF_DIR=/opt/kafka/config \
|
|
KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" \
|
|
KAFKA_GC_LOG_OPTS=" " \
|
|
LOG_DIR=/logs
|
|
|
|
COPY --from=builder /opt/kafka/ /opt/kafka/
|
|
RUN set -euxo pipefail &&\
|
|
apk --no-cache add \
|
|
bash \
|
|
openssl \
|
|
&&\
|
|
addgroup -g 9092 kafka &&\
|
|
adduser --system \
|
|
--ingroup kafka \
|
|
--disabled-password \
|
|
--uid 9092 \
|
|
--home /opt/kafka \
|
|
--no-create-home \
|
|
--shell /sbin/nologin \
|
|
kafka &&\
|
|
mkdir /data /logs &&\
|
|
chown kafka.kafka /data /logs &&\
|
|
chmod 700 /data /logs
|
|
COPY root/ /
|
|
RUN set -euxo pipefail &&\
|
|
chown kafka.kafka /opt/kafka/config/server.properties &&\
|
|
chmod 640 /opt/kafka/config/server.properties
|
|
|
|
EXPOSE 9092
|
|
USER kafka
|
|
|
|
CMD ["bash", "-c", "exec kafka-server-start.sh ${KAFKA_CONF_DIR}/server.properties"]
|
|
|