- Fix kafka user & group,
- Fix LIB & LOG dirsectories, - Fix health check.
This commit is contained in:
parent
e85a67d6f1
commit
9539df8d80
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}
|
||||
|
@ -1,5 +1,5 @@
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3-Docker/Kafka V 1.0.0 - A. GIBERT - 2024/11/xx
|
||||
Rx3-Docker/Kafka V 1.0.0 - A. GIBERT - 2024/11/24
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Initial release,
|
||||
|
40
compose.yaml
40
compose.yaml
@ -1,4 +1,4 @@
|
||||
# Rx3 Proto Docker Image
|
||||
# Rx3-Docker/Kafka Docker Image
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
name: ${HOST_NAME_PREFIX}
|
||||
@ -7,30 +7,30 @@ services:
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
kafka:
|
||||
container_name: ${KAFKA_HOST_NAME}
|
||||
hostname: ${KAFKA_HOST_NAME}
|
||||
topic-server:
|
||||
container_name: ${TS_HOST_NAME}
|
||||
hostname: ${TS_HOST_NAME}
|
||||
|
||||
image: ${KAFKA_IMG_URL}
|
||||
image: ${TS_IMG_URL}
|
||||
|
||||
build:
|
||||
args:
|
||||
IMG_NAME: ${KAFKA_IMG_URL}
|
||||
IMG_NAME_FULL: ${KAFKA_IMG_NAME_FULL}
|
||||
IMG_VERSION: ${KAFKA_IMG_VERSION}
|
||||
IMG_MAINTAINER: ${KAFKA_IMG_MAINTAINER}
|
||||
IMG_FROM_URL: ${KAFKA_IMG_FROM_URL}
|
||||
IMG_NAME: ${TS_IMG_URL}
|
||||
IMG_NAME_FULL: ${TS_IMG_NAME_FULL}
|
||||
IMG_VERSION: ${TS_IMG_VERSION}
|
||||
IMG_MAINTAINER: ${TS_IMG_MAINTAINER}
|
||||
IMG_FROM_URL: ${TS_IMG_FROM_URL}
|
||||
|
||||
KAFKA_PORT: ${KAFKA_PORT_MAIN_INT}
|
||||
KAFKA_PORT: ${TS_PORT_MAIN_INT}
|
||||
|
||||
restart: unless-stopped
|
||||
|
||||
environment:
|
||||
KAFKA_UID: ${KAFKA_USER_ID}
|
||||
KAFKA_GID: ${KAFKA_GROUP_ID}
|
||||
KAFKA_UID: ${TS_USER_ID}
|
||||
KAFKA_GID: ${TS_GROUP_ID}
|
||||
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:${KAFKA_PORT_MAIN_INT}"]
|
||||
test: /opt/appl/kafka/bin/kafka-cluster.sh cluster-id --bootstrap-server localhost:${TS_PORT_MAIN_INT}
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
start_period: 60s
|
||||
@ -38,11 +38,11 @@ services:
|
||||
retries: 30
|
||||
|
||||
volumes:
|
||||
- ./${KAFKA_LIB_EXT}:${KAFKA_LIB_INT}
|
||||
- ./${KAFKA_LOG_INIT_EXT}:${KAFKA_LOG_INIT_INT}
|
||||
- ./${KAFKA_LOG_SV_EXT}:${KAFKA_LOG_SV_INT}
|
||||
- ./${KAFKA_LOG_MAIN_EXT}:${KAFKA_LOG_MAIN_INT}
|
||||
- ./${TS_LIB_EXT}:${TS_LIB_INT}
|
||||
- ./${TS_LOG_INIT_EXT}:${TS_LOG_INIT_INT}
|
||||
- ./${TS_LOG_SV_EXT}:${TS_LOG_SV_INT}
|
||||
- ./${TS_LOG_MAIN_EXT}:${TS_LOG_MAIN_INT}
|
||||
|
||||
ports:
|
||||
- "127.0.0.1:${KAFKA_PORT_SV_EXT}:${KAFKA_PORT_SV_INT}"
|
||||
- "127.0.0.1:${KAFKA_PORT_MAIN_EXT}:${KAFKA_PORT_MAIN_INT}"
|
||||
- "127.0.0.1:${TS_PORT_SV_EXT}:${TS_PORT_SV_INT}"
|
||||
- "127.0.0.1:${TS_PORT_MAIN_EXT}:${TS_PORT_MAIN_INT}"
|
||||
|
13
env.dist
13
env.dist
@ -20,15 +20,18 @@ ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}"
|
||||
HOST_NAME_PREFIX=""
|
||||
|
||||
PORT_ENV_OFFSET=0
|
||||
|
||||
PORT_SV_INT=9001
|
||||
PORT_SV_OFFSET=1000
|
||||
|
||||
|
||||
#------------------+----------+--------------------+--------------------------+------------------------------------------+------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||
# | Variable | Target Image | From Image | Module | Main Port | Admin Port | User | Group |
|
||||
# | Prefix | URL Prefix | Name | Name Full + Version | URL Prefix | Name + Version | Name | Version | Ext | Int | Ext | Int | Name / Id | Name / Id |
|
||||
#------------------+----------+--------------------+--------------------------+------------------------------------------+------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||
|
||||
docker_service_add KAFKA ${ORG_URL_PREFIX} kafka "Rx3-Docker/Kafka Docker Image" 1.0.0-mga9 ${ORG_URL_PREFIX} java 1.1.0-mga9 - - 9092 9092 - - apache apache
|
||||
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+-----------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||
# | Variable | Service | Target Image | From Image | Module | Main Port | Admin Port | User | Group |
|
||||
# | Prefix | Name | URL Prefix | Name | Name Full | Version | URL Prefix | Name | Version | Name | Version | Ext | Int | Ext | Int | Name / Id | Name / Id |
|
||||
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+-----------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||
|
||||
docker_service_add TS topic-server ${ORG_URL_PREFIX} kafka "Rx3-Docker/Kafka" 1.0.0-mga9 ${ORG_URL_PREFIX} java 1.1.0-mga9 - - 9092 9092 - - apache apache
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user