- Fix kafka user & group,
- Fix LIB & LOG dirsectories, - Fix health check.
This commit is contained in:
parent
e85a67d6f1
commit
9539df8d80
46
Dockerfile
46
Dockerfile
@ -1,4 +1,4 @@
|
|||||||
# RX3-Docker/Kafka Dockerfile
|
# Rx3-Docker/Kafka Dockerfile
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
ARG IMG_FROM_URL="rx3-docker/java:latest"
|
ARG IMG_FROM_URL="rx3-docker/java:latest"
|
||||||
@ -17,8 +17,14 @@ LABEL maintainer=${IMG_MAINTAINER}
|
|||||||
|
|
||||||
ARG KAFKA_PORT
|
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\
|
usermod -u ${KAFKA_UID} kafka \n\
|
||||||
groupmod -g ${KAFKA_GID} kafka \n\
|
groupmod -g ${KAFKA_GID} kafka \n\
|
||||||
\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\
|
\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\
|
\n\
|
||||||
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)" \n\
|
chown -R kafka:kafka '${KAFKA_HOME}' '${KAFKA_LIB}' '${KAFKA_LOG}
|
||||||
bin/kafka-storage.sh format --standalone -t \$KAFKA_CLUSTER_ID -c config/kraft/reconfig-server.properties'
|
|
||||||
#---------------------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------------------
|
||||||
ARG KAFKAD_INI='[program:kafkad] \n\
|
ARG KAFKAD_INI='[program:kafkad] \n\
|
||||||
directory='${KAFKA_HOME}' \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 \
|
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 \
|
&& useradd -M --home-dir ${KAFKA_HOME} --password "" kafka \
|
||||||
&& mkdir -p /opt/appl \
|
&& mkdir -p $( dirname ${KAFKA_HOME}) \
|
||||||
&& cd /opt/appl \
|
&& wget -q -O- ${KAFKA_DOWNLOAD_URL} | tar xzf - -C $( dirname ${KAFKA_HOME}) \
|
||||||
&& tar xf /tmp/kafka.tgz \
|
&& mv ${KAFKA_HOME}* ${KAFKA_HOME} \
|
||||||
&& mv kafka* kafka \
|
&& sed -i "s%^log.dirs=/tmp/kraft-combined-logs%log.dirs=${KAFKA_LIB}%" ${KAFKA_CONFIG} \
|
||||||
&& rm /tmp/kafka.tgz \
|
&& ln -s ${KAFKA_LOG} ${KAFKA_HOME}/logs \
|
||||||
&& echo -e "${KAFKAD}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/kafkad \
|
&& echo -e "${KAFKAD}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/kafkad \
|
||||||
&& chmod a+x /etc/init.d/kafkad \
|
&& chmod a+x /etc/init.d/kafkad \
|
||||||
&& ln -s /etc/init.d/kafkad /etc/rcD.d/S30kafkad \
|
&& 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
|
&& echo -e "${KAFKAD_INI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/supervisord.d/kafkad.ini
|
||||||
|
|
||||||
EXPOSE ${KAFKA_PORT}
|
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,
|
- 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}
|
name: ${HOST_NAME_PREFIX}
|
||||||
@ -7,30 +7,30 @@ services:
|
|||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
kafka:
|
topic-server:
|
||||||
container_name: ${KAFKA_HOST_NAME}
|
container_name: ${TS_HOST_NAME}
|
||||||
hostname: ${KAFKA_HOST_NAME}
|
hostname: ${TS_HOST_NAME}
|
||||||
|
|
||||||
image: ${KAFKA_IMG_URL}
|
image: ${TS_IMG_URL}
|
||||||
|
|
||||||
build:
|
build:
|
||||||
args:
|
args:
|
||||||
IMG_NAME: ${KAFKA_IMG_URL}
|
IMG_NAME: ${TS_IMG_URL}
|
||||||
IMG_NAME_FULL: ${KAFKA_IMG_NAME_FULL}
|
IMG_NAME_FULL: ${TS_IMG_NAME_FULL}
|
||||||
IMG_VERSION: ${KAFKA_IMG_VERSION}
|
IMG_VERSION: ${TS_IMG_VERSION}
|
||||||
IMG_MAINTAINER: ${KAFKA_IMG_MAINTAINER}
|
IMG_MAINTAINER: ${TS_IMG_MAINTAINER}
|
||||||
IMG_FROM_URL: ${KAFKA_IMG_FROM_URL}
|
IMG_FROM_URL: ${TS_IMG_FROM_URL}
|
||||||
|
|
||||||
KAFKA_PORT: ${KAFKA_PORT_MAIN_INT}
|
KAFKA_PORT: ${TS_PORT_MAIN_INT}
|
||||||
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
KAFKA_UID: ${KAFKA_USER_ID}
|
KAFKA_UID: ${TS_USER_ID}
|
||||||
KAFKA_GID: ${KAFKA_GROUP_ID}
|
KAFKA_GID: ${TS_GROUP_ID}
|
||||||
|
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
start_period: 60s
|
start_period: 60s
|
||||||
@ -38,11 +38,11 @@ services:
|
|||||||
retries: 30
|
retries: 30
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./${KAFKA_LIB_EXT}:${KAFKA_LIB_INT}
|
- ./${TS_LIB_EXT}:${TS_LIB_INT}
|
||||||
- ./${KAFKA_LOG_INIT_EXT}:${KAFKA_LOG_INIT_INT}
|
- ./${TS_LOG_INIT_EXT}:${TS_LOG_INIT_INT}
|
||||||
- ./${KAFKA_LOG_SV_EXT}:${KAFKA_LOG_SV_INT}
|
- ./${TS_LOG_SV_EXT}:${TS_LOG_SV_INT}
|
||||||
- ./${KAFKA_LOG_MAIN_EXT}:${KAFKA_LOG_MAIN_INT}
|
- ./${TS_LOG_MAIN_EXT}:${TS_LOG_MAIN_INT}
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:${KAFKA_PORT_SV_EXT}:${KAFKA_PORT_SV_INT}"
|
- "127.0.0.1:${TS_PORT_SV_EXT}:${TS_PORT_SV_INT}"
|
||||||
- "127.0.0.1:${KAFKA_PORT_MAIN_EXT}:${KAFKA_PORT_MAIN_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=""
|
HOST_NAME_PREFIX=""
|
||||||
|
|
||||||
PORT_ENV_OFFSET=0
|
PORT_ENV_OFFSET=0
|
||||||
|
|
||||||
|
PORT_SV_INT=9001
|
||||||
PORT_SV_OFFSET=1000
|
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