I'm definitely in favor of smaller images, especially given the nature of
the subproject.  I think the MiNiFi Java image may be able to benefit from
Alpine as well.

Thanks,
Bryan

On Wed, Apr 26, 2017 at 11:09 AM, Aldrin Piri <aldrinp...@gmail.com> wrote:

> Don't think there would be any objections to going smaller with Alpine and
> certainly makes a lot of sense, but I believe initial efforts were
> problematic and there was a general desire to get a foundation going.  The
> biggest issue was needing to navigate cross compilation of a given host to
> the Alpine format which was something our processes are not quite up to at
> this juncture.  The integrated dev setup in the image avoided having to
> tackle this and allowed building of the image on any system where Docker
> could run whether natively or via one of the Docker for $OS setups.
>
> Hadn't actually been aware of the multi-stage docker builds before this
> thread, but certainly seems like a great application after looking through
> the associated PRs and docs and could be a more immediate win for the
> particular case above.
>
> We could and should certainly strive to make components pluggable, in this
> case logging, to support such cases where things may be problematic given a
> target environment.  I don't think I'd be in favor of removing spdlog at
> this point but could apply similar approaches used elsewhere in the
> codebase to give us a little more configurability to use an alternate
> implementation.
>
> Would be in favor of opening up an issue to optimize our Docker build and
> certainly target Alpine with some of the new build magic.  By the time we
> have it implemented, the multi-stage builds should likely be sufficiently
> available.
>
> On Wed, Apr 26, 2017 at 10:19 AM, Andrew Christianson <
> andrew.christian...@nextcentury.com> wrote:
>
> > Have we considered porting the current Dockerfile from Ubuntu to Alpine?
> > The ubuntu image, especially with all the build-time deps left in the
> final
> > image, is quite bloated. This runs against the design intent of minimal
> > footprint in minifi-cpp. Further, the new multi-stage Docker builds would
> > allow us to isolate the build environment in its own stage and allow only
> > runtime deps to exist in the final image. Overall it would be a much
> > smaller image.
> >
> > Reviewing the JIRA activity for MINIFI-175, it seems the decision to not
> > use alpine was originally due to the desire to encapsulate the build of
> > minifi inside the build of the docker image, which for some reason wasn't
> > compatible with using alpine. On initial testing, it seems alpine's musl
> > libc has issues with spdlog. Since it may involve some effort and
> decision
> > making with regard to which dependencies are used, this is a decision
> > probably best made by the community.
> >
> > Thoughts?
>

Reply via email to