- Fix kafka user & group,
- Fix LIB & LOG dirsectories, - Fix health check.
This commit is contained in:
48
Dockerfile
48
Dockerfile
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user