Sign inSign up

mannharleen/nifi

By mannharleen

•Updated over 7 years ago

Image
0

48

mannharleen/nifi repository overview

This repo enables the use of nifi with a persistent volume. The docker image is a base file that sets the stage for mounting the nifi volume.

--Some setup--

ubuntu@ip-10-201-97-84:~/nifi-persisted/nouser$ ls getnifi.sh nifi-1.8.0 nifi-1.8.0-bin.zip nifi-toolkit-1.8.0 nifi-toolkit-1.8.0-bin.zip scripts

ubuntu@ip-10-201-97-84:~/nifi-persisted/nouser$ ls scripts/ common.sh start.sh toolkit.sh update_login_providers.sh secure.sh update_cluster_state_management.sh

ubuntu@ip-10-201-97-84:~/nifi-persisted/nouser$ cat getnifi.sh #!/bin/sh export nifiversion=1.8.0 wget https://archive.apache.org/dist/nifi/${nifiversion}/nifi-toolkit-${nifiversion}-bin.zip⁠ wget https://archive.apache.org/dist/nifi/${nifiversion}/nifi-${nifiversion}-bin.zip⁠ unzip nifi-toolkit-${nifiversion}-bin.zip unzip nifi-${nifiversion}-bin.zip


⁠DOCKERFILE


FROM openjdk:8-jre
LABEL maintainer="Apache NiFi <[email protected]>"
LABEL site="https://nifi.apache.org"

ARG UID=1000
ARG GID=1000
ARG NIFI_VERSION=1.8.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-current
# ENV NIFI_BASE_DIR=/nifi-persisted
ENV NIFI_HOME=${NIFI_BASE_DIR}/nifi-1.8.0
ENV NIFI_TOOLKIT_HOME ${NIFI_BASE_DIR}/nifi-toolkit-current

ENV NIFI_PID_DIR=${NIFI_HOME}/run
ENV NIFI_LOG_DIR=${NIFI_HOME}/logs

# ADD sh/ ${NIFI_BASE_DIR}/scripts/

# Setup NiFi user and create necessary directories
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_BASE_DIR} \
    && chown -R nifi:nifi ${NIFI_BASE_DIR} \
    && apt-get update \
    && apt-get install -y jq xmlstarlet procps

USER nifi

# 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 \

#  VOLUME /home/ubuntu/my_projects/nipyapy_docker/data:/data

# 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
#
# We need to use the exec form to avoid running our command in a subshell and omitting signals,
# thus being unable to shut down gracefully:
# https://docs.docker.com/engine/reference/builder/#entrypoint
#
# Also we need to use relative path, because the exec form does not invoke a command shell,
# thus normal shell processing does not happen:
# https://docs.docker.com/engine/reference/builder/#exec-form-entrypoint-example
# ENTRYPOINT ["../scripts/start.sh"]
# CMD bash
ENTRYPOINT ["../scripts/start.sh"]

Tag summary

Content type

Image

Digest

Size

188.8 MB

Last updated

over 7 years ago

docker pull mannharleen/nifi:1.8.0