mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-12-25 02:04:06 +02:00
update nifi
This commit is contained in:
parent
2d324b770c
commit
e881f0f07c
@ -8,12 +8,18 @@ LABEL site="https://nifi.apache.org"
|
||||
|
||||
ARG UID=1000
|
||||
ARG GID=1000
|
||||
ARG NIFI_VERSION=1.5.0
|
||||
ARG MIRROR=https://archive.apache.org/dist
|
||||
ARG NIFI_VERSION=1.9.0
|
||||
ARG BASE_URL=https://archive.apache.org/dist
|
||||
ARG MIRROR_BASE_URL=${MIRROR_BASE_URL:-${BASE_URL}}
|
||||
ARG NIFI_BINARY_PATH=${NIFI_BINARY_PATH:-/nifi/${NIFI_VERSION}/nifi-${NIFI_VERSION}-bin.zip}
|
||||
ARG NIFI_TOOLKIT_BINARY_PATH=${NIFI_TOOLKIT_BINARY_PATH:-/nifi/${NIFI_VERSION}/nifi-toolkit-${NIFI_VERSION}-bin.zip}
|
||||
|
||||
ENV NIFI_BASE_DIR /opt/nifi
|
||||
ENV NIFI_HOME=${NIFI_BASE_DIR}/nifi-${NIFI_VERSION} \
|
||||
NIFI_BINARY_URL=/nifi/${NIFI_VERSION}/nifi-${NIFI_VERSION}-bin.tar.gz
|
||||
ENV NIFI_BASE_DIR=/opt/nifi
|
||||
ENV NIFI_HOME ${NIFI_BASE_DIR}/nifi-current
|
||||
ENV NIFI_TOOLKIT_HOME ${NIFI_BASE_DIR}/nifi-toolkit-current
|
||||
|
||||
ENV NIFI_PID_DIR=${NIFI_HOME}/run
|
||||
ENV NIFI_LOG_DIR=${NIFI_HOME}/logs
|
||||
|
||||
# Download scripts
|
||||
RUN mkdir -p /opt/nifi/scripts/ \
|
||||
@ -24,24 +30,42 @@ RUN mkdir -p /opt/nifi/scripts/ \
|
||||
# Setup NiFi user
|
||||
RUN groupadd -g ${GID} nifi || groupmod -n nifi `getent group ${GID} | cut -d: -f1` \
|
||||
&& useradd --shell /bin/bash -u ${UID} -g ${GID} -m nifi \
|
||||
&& mkdir -p ${NIFI_HOME}/conf/templates \
|
||||
&& mkdir -p ${NIFI_BASE_DIR} \
|
||||
&& chown -R nifi:nifi ${NIFI_BASE_DIR} \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y jq xmlstarlet
|
||||
&& apt-get install -y jq xmlstarlet procps
|
||||
|
||||
USER nifi
|
||||
|
||||
# Download, validate, and expand Apache NiFi binary.
|
||||
RUN curl -fSL ${MIRROR}/${NIFI_BINARY_URL} -o ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.tar.gz \
|
||||
&& echo "$(curl https://archive.apache.org/dist/${NIFI_BINARY_URL}.sha256) *${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.tar.gz" | sha256sum -c - \
|
||||
&& tar -xvzf ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.tar.gz -C ${NIFI_BASE_DIR} \
|
||||
&& rm ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.tar.gz \
|
||||
&& chown -R nifi:nifi ${NIFI_HOME}
|
||||
RUN curl -fSL ${MIRROR_BASE_URL}/${NIFI_BINARY_PATH} -o ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.zip \
|
||||
&& echo "$(curl ${BASE_URL}/${NIFI_BINARY_PATH}.sha256) *${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.zip" | sha256sum -c - \
|
||||
&& unzip ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.zip -d ${NIFI_BASE_DIR} \
|
||||
&& rm ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.zip \
|
||||
&& mv ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION} ${NIFI_HOME} \
|
||||
&& mkdir -p ${NIFI_HOME}/conf \
|
||||
&& mkdir -p ${NIFI_HOME}/database_repository \
|
||||
&& mkdir -p ${NIFI_HOME}/flowfile_repository \
|
||||
&& mkdir -p ${NIFI_HOME}/content_repository \
|
||||
&& mkdir -p ${NIFI_HOME}/provenance_repository \
|
||||
&& mkdir -p ${NIFI_HOME}/state \
|
||||
&& mkdir -p ${NIFI_LOG_DIR} \
|
||||
&& ln -s ${NIFI_HOME} ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}
|
||||
|
||||
VOLUME ${NIFI_LOG_DIR} \
|
||||
${NIFI_HOME}/conf \
|
||||
${NIFI_HOME}/database_repository \
|
||||
${NIFI_HOME}/flowfile_repository \
|
||||
${NIFI_HOME}/content_repository \
|
||||
${NIFI_HOME}/provenance_repository \
|
||||
${NIFI_HOME}/state
|
||||
|
||||
# Clear nifi-env.sh in favour of configuring all environment variables in the Dockerfile
|
||||
RUN echo "#!/bin/sh\n" > $NIFI_HOME/bin/nifi-env.sh
|
||||
|
||||
# Web HTTP(s) & Socket Site-to-Site Ports
|
||||
EXPOSE 8080 8443 10000
|
||||
|
||||
WORKDIR ${NIFI_HOME}
|
||||
|
||||
# Apply configuration and start NiFi
|
||||
CMD ${NIFI_BASE_DIR}/scripts/start.sh
|
||||
ENTRYPOINT ["../scripts/start.sh"]
|
||||
|
@ -2,5 +2,17 @@ nifi:
|
||||
image: easypi/nifi-arm
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8082:8082"
|
||||
- "10000:10000"
|
||||
environment:
|
||||
- NIFI_WEB_HTTP_PORT=8080
|
||||
- NIFI_CLUSTER_IS_NODE=true
|
||||
- NIFI_CLUSTER_NODE_PROTOCOL_PORT=8082
|
||||
- NIFI_REMOTE_INPUT_SOCKET_PORT=10000
|
||||
- NIFI_ZK_CONNECT_STRING=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
|
||||
- NIFI_ELECTION_MAX_WAIT=1 min
|
||||
extra_hosts:
|
||||
- zookeeper1:10.0.0.21
|
||||
- zookeeper2:10.0.0.22
|
||||
- zookeeper3:10.0.0.23
|
||||
restart: always
|
||||
|
@ -1,11 +1,18 @@
|
||||
nifi:
|
||||
image: vimagick/nifi
|
||||
image: apache/nifi
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8081:8081"
|
||||
volumes:
|
||||
- ./data/content_repository:/opt/nifi/content_repository
|
||||
- ./data/database_repository:/opt/nifi/database_repository
|
||||
- ./data/flowfile_repository:/opt/nifi/flowfile_repository
|
||||
- ./data/provenance_repository:/opt/nifi/provenance_repository
|
||||
- "8082:8082"
|
||||
- "10000:10000"
|
||||
environment:
|
||||
- NIFI_WEB_HTTP_PORT=8080
|
||||
- NIFI_CLUSTER_IS_NODE=true
|
||||
- NIFI_CLUSTER_NODE_PROTOCOL_PORT=8082
|
||||
- NIFI_REMOTE_INPUT_SOCKET_PORT=10000
|
||||
- NIFI_ZK_CONNECT_STRING=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
|
||||
- NIFI_ELECTION_MAX_WAIT=1 min
|
||||
extra_hosts:
|
||||
- zookeeper1:10.0.0.21
|
||||
- zookeeper2:10.0.0.22
|
||||
- zookeeper3:10.0.0.23
|
||||
restart: always
|
||||
|
Loading…
Reference in New Issue
Block a user