- Fix kafka user & group,

- Fix LIB & LOG dirsectories,
- Fix health check.
This commit is contained in:
2024-11-24 12:48:40 +01:00
parent e85a67d6f1
commit 9539df8d80
4 changed files with 58 additions and 45 deletions

View File

@@ -1,4 +1,4 @@
# RX3-Docker/Kafka Dockerfile
# Rx3-Docker/Kafka Dockerfile
#-------------------------------------------------------------------------------
ARG IMG_FROM_URL="rx3-docker/java:latest"
@@ -17,8 +17,14 @@ LABEL maintainer=${IMG_MAINTAINER}
ARG KAFKA_PORT
ARG KAFKA_HOME="/opt/appl/kafka"
ARG KAFKA_VERSION="3.9.0"
ARG SCALA_VERSION="2.13"
ARG KAFKA_DOWNLOAD_URL="https://downloads.apache.org/kafka/${KAFKA_VERSION}/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz"
ARG KAFKA_HOME="/opt/appl/kafka"
ARG KAFKA_CONFIG="${KAFKA_HOME}/config/kraft/reconfig-server.properties"
ARG KAFKA_LIB=/var/lib/kafka
ARG KAFKA_LOG=/var/log/kafka
#---------------------------------------------------------------------------------------------------
@@ -27,32 +33,36 @@ ARG KAFKAD='#!/bin/bash
usermod -u ${KAFKA_UID} kafka \n\
groupmod -g ${KAFKA_GID} kafka \n\
\n\
chown -R kafka:kafka '${KAFKA_LIB}' '${KAFKA_LOG}' \n\
if [[ ! -f "'${KAFKA_LIB}'/meta.properties" ]] \n\
then \n\
cd '${KAFKA_HOME}' \n\
\n\
cd '${KAFKA_HOME}' \n\
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)" \n\
bin/kafka-storage.sh format --standalone -t "${KAFKA_CLUSTER_ID}" -c '${KAFKA_CONFIG}' \n\
fi \n\
\n\
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)" \n\
bin/kafka-storage.sh format --standalone -t \$KAFKA_CLUSTER_ID -c config/kraft/reconfig-server.properties'
chown -R kafka:kafka '${KAFKA_HOME}' '${KAFKA_LIB}' '${KAFKA_LOG}
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
ARG KAFKAD_INI='[program:kafkad] \n\
directory='${KAFKA_HOME}' \n\
command='${KAFKA_HOME}'/bin/kafka-server-start.sh config/kraft/reconfig-server.properties'
command='${KAFKA_HOME}'/bin/kafka-server-start.sh config/kraft/reconfig-server.properties \n\
user=kafka'
#---------------------------------------------------------------------------------------------------
RUN urpmi --force wget \
&& wget -q -O /tmp/kafka.tgz https://downloads.apache.org/kafka/3.9.0/kafka_2.13-3.9.0.tgz \
&& mkdir -p /opt/appl \
&& cd /opt/appl \
&& tar xf /tmp/kafka.tgz \
&& mv kafka* kafka \
&& rm /tmp/kafka.tgz \
&& echo -e "${KAFKAD}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/kafkad \
&& chmod a+x /etc/init.d/kafkad \
&& ln -s /etc/init.d/kafkad /etc/rcD.d/S30kafkad \
&& echo -e "${KAFKAD_INI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/supervisord.d/kafkad.ini
RUN urpmi --force wget \
&& useradd -M --home-dir ${KAFKA_HOME} --password "" kafka \
&& mkdir -p $( dirname ${KAFKA_HOME}) \
&& wget -q -O- ${KAFKA_DOWNLOAD_URL} | tar xzf - -C $( dirname ${KAFKA_HOME}) \
&& mv ${KAFKA_HOME}* ${KAFKA_HOME} \
&& sed -i "s%^log.dirs=/tmp/kraft-combined-logs%log.dirs=${KAFKA_LIB}%" ${KAFKA_CONFIG} \
&& ln -s ${KAFKA_LOG} ${KAFKA_HOME}/logs \
&& echo -e "${KAFKAD}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/kafkad \
&& chmod a+x /etc/init.d/kafkad \
&& ln -s /etc/init.d/kafkad /etc/rcD.d/S30kafkad \
&& echo -e "${KAFKAD_INI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/supervisord.d/kafkad.ini
EXPOSE ${KAFKA_PORT}