Thanks, Chris! I’ve incorporated these ideas into the Confluence page. I’ll 
look into getting you edit permissions - what is your username there?

> On Dec 18, 2021, at 13:35, Chris Sampson <chris.samp...@naimuri.com.INVALID> 
> wrote:
> 
> Kevin,
> 
> Good idea to write up a list of ideas - unfortunately I don't appear to
> have permission to edit the page, but a few other ideas are:
> 
>   - Provide an "alpine" based image (could be the
>   "openjdk:<version>-alpine" image used as a base) to reduce image size and
>   O/S footprint of the container
>   - Change the Docker start scripts to allow for all nifi.properties (and
>   other config file properties) to be set by Environment Variables - this
>   could be a case of using a common Env Var prefix to and iterating through
>   them within the script, e.g. anything that is NIFI_* is assumed to be a
>   nifi.properties entry, etc. - this would make the convenience image all the
>   more convenient for people and follow suit with some other applications
>   using Docker wrappers
>   - Docker-focussed default config, for example logback.xml that directs
>   output to STDOUT/STDERR by default, possibly in JSON format, allowing
>   easier out-of-the-box use of the logs in Docker-based environments that
>   already process Docker log output
>   - Allow for the nifi.properties/config file changes during start.sh to
>   be skipped (some people inject the config files into their containers but
>   want them to be read-only, which then means the start.sh script fails
>   because the files can't be edited)
>   - Change the default config file locations within the Docker images,
>   e.g. the flow.xml.gz and other system generated config that should be
>   persisted through container restart would be better in a different folder
>   to things like nifi.properties, then the directory can be externalised as a
>   Volume (without running into read-only/mutability issues like the start.sh
>   point above)
>   - Make it easier for Docker-based instances to join an existing cluster
>   - this might be a case of relocating some of the files to make better use
>   of ephemeral vs. persistent directories/Volumes and/or having a
>   configurable mechanism that allows for the cluster config files to be
>   deleted during startup if the instance expects to join a cluster but cannot
>   because it is unable to overwrite existing files with those being offered
>   by the cluster (not sure how much of an issue this still is after some
>   recent changes)
> 
> Please feel free to add any/all of the above to the Confluence page that
> you think would be worthwhile to add to the pile for consideration.
> 
> 
> ---
> *Chris Sampson*
> IT Consultant
> chris.samp...@naimuri.com
> 
> 
> On Fri, 17 Dec 2021 at 18:01, Kevin Doran <kdo...@apache.org> wrote:
> 
>> Hi Chris,
>> 
>> I like this idea and have been thinking of a number of other improvements
>> we could make for container images of Apache NiFi, including (I think
>> discussed on another thread) consolidating Dockerfiles for dockerhub /
>> dockermaven, as the only significant difference is where the nifi assembly
>> archive comes from, arm64 images that run native on ARM platforms,
>> including newer M1 Macs (requires some minor changes to NiFi source itself
>> to compile).
>> 
>> I’ve started a Wiki page [1] to collect ideas, and once we reach consensus
>> on the improvements we’d like to make and possible approaches, we can turn
>> these into Jiras.
>> 
>> [1]
>> https://cwiki.apache.org/confluence/display/NIFI/NiFi+Docker+Container+Improvements
>> 
>> Thanks!
>> Kevin
>> 
>>> On Nov 26, 2021, at 07:46, Chris Sampson <chris.samp...@naimuri.com.INVALID>
>> wrote:
>>> 
>>> I'm not sure whether I've seen this discussed previously, but I thought
>> it
>>> worth asking whether we could/should publish a JDK 11 based version of
>> the
>>> apache/nifi Docker Image to Docker Hub as part of the release process in
>>> future?
>>> 
>>> I realise NiFi 1.x is/will remain based on JDK 8 but with all the work
>> gone
>>> into enabling JDK 11 compilation and deployment, along with the planned
>>> move to JDK 11 in the future for NiFi 2.x, it would seem sensible to
>> start
>>> making it easier for people to move towards using JDK 11 now that it's
>>> available.
>>> 
>>> The Dockerfiles used to build NiFi (I've not looked at Toolkit, MiNiFi or
>>> Registry) can be given a build ARG to use different base images/versions,
>>> so it should be relatively straightforward to do this and maybe publish
>> the
>>> Image to Docker Hub as *apache/nifi:<version>-jdk11*?
>>> 
>>> Users can, of course, download the NiFi source to build this image
>>> themselves, but to make it easier for the community it would seem
>> sensible
>>> to consider the additional release artifact. This avoids lots of people
>>> having to pull all of the code (it's not a small repo) or build the
>> image,
>>> which can take a long time, etc.
>>> 
>>> 
>>> ---
>>> *Chris Sampson*
>>> IT Consultant
>>> chris.samp...@naimuri.com
>> 
>> 

Reply via email to