1.1.0-debian-9-r2 release

This commit is contained in:
Bitnami Bot 2018-07-06 07:05:31 +00:00
parent 986f6f68f1
commit 0ba8a27eb2
7 changed files with 179 additions and 1 deletions

View File

@ -0,0 +1,52 @@
FROM bitnami/minideb-extras:stretch-r70
LABEL maintainer "Bitnami <containers@bitnami.com>"
ENV BITNAMI_PKG_CHMOD="-R g+rwX" \
HOME="/"
# Install required system packages and dependencies
RUN install_packages libblkid1 libbsd0 libc6 libffi6 libgcc1 libglib2.0-0 libmount1 libpcre3 libselinux1 libstdc++6 libuuid1 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 zlib1g
RUN bitnami-pkg install java-1.8.171-3 --checksum 100e1e457e19648410be57716eb075f43936aeaa2ac51457d2b46abc2b810ddc
RUN bitnami-pkg unpack kafka-1.1.0-4 --checksum e13b140f68d03f79bb40eb574736143d9377aa4e4753cf83072d3aeb4bed8a6c
COPY rootfs /
ENV ALLOW_PLAINTEXT_LISTENER="no" \
BITNAMI_APP_NAME="kafka" \
BITNAMI_IMAGE_VERSION="1.1.0-debian-9-r2" \
KAFKA_ADVERTISED_LISTENERS="PLAINTEXT://:9092" \
KAFKA_BROKER_ID="-1" \
KAFKA_BROKER_PASSWORD="bitnami" \
KAFKA_BROKER_USER="user" \
KAFKA_CERTIFICATE_PASSWORD="" \
KAFKA_DELETE_TOPIC_ENABLE="false" \
KAFKA_HEAP_OPTS="-Xmx1024m -Xms1024m" \
KAFKA_INTER_BROKER_PASSWORD="bitnami" \
KAFKA_INTER_BROKER_USER="admin" \
KAFKA_LISTENERS="PLAINTEXT://:9092" \
KAFKA_LOGS_DIRS="/opt/bitnami/kafka/data" \
KAFKA_LOG_FLUSH_INTERVAL_MESSAGES="10000" \
KAFKA_LOG_FLUSH_INTERVAL_MS="1000" \
KAFKA_LOG_MESSAGE_FORMAT_VERSION="" \
KAFKA_LOG_RETENTION_BYTES="1073741824" \
KAFKA_LOG_RETENTION_CHECK_INTERVALS_MS="300000" \
KAFKA_LOG_RETENTION_HOURS="168" \
KAFKA_NUM_IO_THREADS="8" \
KAFKA_NUM_NETWORK_THREADS="3" \
KAFKA_NUM_PARTITIONS="1" \
KAFKA_NUM_RECOVERY_THREADS_PER_DATA_DIR="1" \
KAFKA_PORT_NUMBER="9092" \
KAFKA_SEGMENT_BYTES="1073741824" \
KAFKA_SOCKET_RECEIVE_BUFFER_BYTES="102400" \
KAFKA_SOCKET_REQUEST_MAX_BYTES="104857600" \
KAFKA_SOCKET_SEND_BUFFER_BYTES="102400" \
KAFKA_ZOOKEEPER_CONNECT="localhost:2181" \
KAFKA_ZOOKEEPER_CONNECT_TIMEOUT_MS="6000" \
KAFKA_ZOOKEEPER_PASSWORD="" \
KAFKA_ZOOKEEPER_USER="" \
PATH="/opt/bitnami/java/bin:/opt/bitnami/kafka/bin:$PATH"
EXPOSE 9092
USER 1001
ENTRYPOINT ["/app-entrypoint.sh"]
CMD ["/run.sh"]

View File

@ -0,0 +1,26 @@
version: '2'
services:
zookeeper:
image: 'bitnami/zookeeper:latest'
ports:
- '2181:2181'
volumes:
- 'zookeeper_data:/bitnami'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
image: 'bitnami/kafka:1'
ports:
- '9092:9092'
volumes:
- 'kafka_data:/bitnami'
environment:
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
volumes:
zookeeper_data:
driver: local
kafka_data:
driver: local

View File

@ -0,0 +1,14 @@
#!/bin/bash -e
. /opt/bitnami/base/functions
. /opt/bitnami/base/helpers
print_welcome_page
if [[ "$1" == "nami" && "$2" == "start" ]] || [[ "$1" == "/run.sh" ]]; then
. /init.sh
nami_initialize kafka
info "Starting kafka... "
fi
exec tini -- "$@"

View File

@ -0,0 +1,23 @@
##
## @brief Helper function to show an error when KAFKA_LISTENERS does not configure a secure listener
## param $1 Input name
##
plaintext_listener_error() {
error "The $1 environment variable does not set a secure listener. Set the environment variable ALLOW_PLAINTEXT_LISTENER=yes to allow the container to be started with a plaintext listener. This is recommended only for development."
exit 1
}
##
## @brief Helper function to show a warning when the ALLOW_PLAINTEXT_LISTENER flag is enabled
##
plaintext_listener_enabled_warn() {
warn "You set the environment variable ALLOW_PLAINTEXT_LISTENER=${ALLOW_PLAINTEXT_LISTENER}. For safety reasons, do not use this flag in a production environment."
}
# Validate passwords
if [[ "$ALLOW_PLAINTEXT_LISTENER" =~ ^(yes|Yes|YES)$ ]]; then
plaintext_listener_enabled_warn
elif [[ ! "$KAFKA_LISTENERS" =~ SASL_SSL ]]; then
plaintext_listener_error KAFKA_LISTENERS
fi

View File

@ -0,0 +1,33 @@
{
"allowPlaintextListener": "{{$global.env.ALLOW_PLAINTEXT_LISTENER}}",
"kafkaAdvertisedListeners": "{{$global.env.KAFKA_ADVERTISED_LISTENERS}}",
"kafkaBrokerId": "{{$global.env.KAFKA_BROKER_ID}}",
"kafkaBrokerPassword": "{{$global.env.KAFKA_BROKER_PASSWORD}}",
"kafkaBrokerUser": "{{$global.env.KAFKA_BROKER_USER}}",
"kafkaCertificatePassword": "{{$global.env.KAFKA_CERTIFICATE_PASSWORD}}",
"kafkaDeleteTopicEnable": "{{$global.env.KAFKA_DELETE_TOPIC_ENABLE}}",
"kafkaHeapOpts": "{{$global.env.KAFKA_HEAP_OPTS}}",
"kafkaInterBrokerPassword": "{{$global.env.KAFKA_INTER_BROKER_PASSWORD}}",
"kafkaInterBrokerUser": "{{$global.env.KAFKA_INTER_BROKER_USER}}",
"kafkaListeners": "{{$global.env.KAFKA_LISTENERS}}",
"kafkaLogFlushIntervalMessages": "{{$global.env.KAFKA_LOG_FLUSH_INTERVAL_MESSAGES}}",
"kafkaLogFlushIntervalMs": "{{$global.env.KAFKA_LOG_FLUSH_INTERVAL_MS}}",
"kafkaLogMessageFormatVersion": "{{$global.env.KAFKA_LOG_MESSAGE_FORMAT_VERSION}}",
"kafkaLogRetentionBytes": "{{$global.env.KAFKA_LOG_RETENTION_BYTES}}",
"kafkaLogRetentionCheckIntervalMs": "{{$global.env.KAFKA_LOG_RETENTION_CHECK_INTERVALS_MS}}",
"kafkaLogRetentionHours": "{{$global.env.KAFKA_LOG_RETENTION_HOURS}}",
"kafkaLogSegmentBytes": "{{$global.env.KAFKA_SEGMENT_BYTES}}",
"kafkaLogsDirs": "{{$global.env.KAFKA_LOGS_DIRS}}",
"kafkaNumIoThreads": "{{$global.env.KAFKA_NUM_IO_THREADS}}",
"kafkaNumNetworkThreads": "{{$global.env.KAFKA_NUM_NETWORK_THREADS}}",
"kafkaNumPartitions": "{{$global.env.KAFKA_NUM_PARTITIONS}}",
"kafkaNumRecoveryThreadsPerDataDir": "{{$global.env.KAFKA_NUM_RECOVERY_THREADS_PER_DATA_DIR}}",
"kafkaPort": "{{$global.env.KAFKA_PORT_NUMBER}}",
"kafkaSocketReceiveBufferBytes": "{{$global.env.KAFKA_SOCKET_RECEIVE_BUFFER_BYTES}}",
"kafkaSocketRequestMaxBytes": "{{$global.env.KAFKA_SOCKET_REQUEST_MAX_BYTES}}",
"kafkaSocketSendBufferBytes": "{{$global.env.KAFKA_SOCKET_SEND_BUFFER_BYTES}}",
"kafkaZookeeperConnect": "{{$global.env.KAFKA_ZOOKEEPER_CONNECT}}",
"kafkaZookeeperConnectionTimeoutMs": "{{$global.env.KAFKA_ZOOKEEPER_CONNECT_TIMEOUT_MS}}",
"kafkaZookeeperPassword": "{{$global.env.KAFKA_ZOOKEEPER_PASSWORD}}",
"kafkaZookeeperUser": "{{$global.env.KAFKA_ZOOKEEPER_USER}}"
}

View File

@ -0,0 +1,30 @@
#!/bin/bash
. /opt/bitnami/base/functions
. /opt/bitnami/base/helpers
USER=kafka
KAFKA_HOME="/opt/bitnami/kafka"
START_COMMAND="${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties && ps ax | grep -i 'java.*kafka' | grep -v grep | awk '{print \$1}' > ${KAFKA_HOME}/tmp/kafka.pid && tail -f ${KAFKA_HOME}/logs/server.log"
if [[ -z "$KAFKA_BROKER_ID" ]]; then
if [[ -n "$BROKER_ID_COMMAND" ]]; then
export KAFKA_BROKER_ID=$(eval $BROKER_ID_COMMAND)
else
# By default auto allocate broker ID
export KAFKA_BROKER_ID=-1
fi
fi
if [[ "$KAFKA_LISTENERS" =~ SASL ]]; then
export KAFKA_OPTS="-Djava.security.auth.login.config=${KAFKA_HOME}/conf/kafka_jaas.conf"
fi
# If container is started as `root` user
if [ $EUID -eq 0 ]; then
gosu ${USER} touch ${KAFKA_HOME}/logs/server.log
exec gosu ${USER} bash -c "${START_COMMAND}"
else
touch ${KAFKA_HOME}/logs/server.log
exec bash -c "${START_COMMAND}"
fi

View File

@ -41,7 +41,7 @@ services:
# Supported tags and respective `Dockerfile` links
* [`1-ol-7`, `1.1.0-ol-7-r17` (1/ol-7/Dockerfile)](https://github.com/bitnami/bitnami-docker-kafka/blob/1.1.0-ol-7-r17/1/ol-7/Dockerfile)
* [`1-debian-9`, `1.1.0-debian-9-r1` (1/debian-9/Dockerfile)](https://github.com/bitnami/bitnami-docker-kafka/blob/1.1.0-debian-9-r1/1/debian-9/Dockerfile)
* [`1-debian-9`, `1.1.0-debian-9-r2` (1/debian-9/Dockerfile)](https://github.com/bitnami/bitnami-docker-kafka/blob/1.1.0-debian-9-r2/1/debian-9/Dockerfile)
* [`1-debian-8`, `1.1.0-debian-8-r57`, `1`, `1.1.0`, `1.1.0-r57`, `latest` (1/Dockerfile)](https://github.com/bitnami/bitnami-docker-kafka/blob/1.1.0-debian-8-r57/1/Dockerfile)
Subscribe to project updates by watching the [bitnami/kafka GitHub repo](https://github.com/bitnami/bitnami-docker-kafka).