[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Build depends on Docker


The Apache Brooklyn build depends on having a working Docker instance. This
I did not know.

The build failure happens in the `brooklyn-dist` project, which
incorporates into execution `dockerfile-maven-plugin` which invokes Docker
during the build phase. If Docker is not running, it tries to connect to a
non-existent UNIX socket and the build fails.

This presents a few discussion points...

What exactly is it building? There's a Dockerfile there and it seems that
it builds an image which contains the Brooklyn distribution and starts
Brooklyn. I don't know much about Docker, what happens to that image? Is it
local to my computer?

Is it necessary to have the build depend on Docker? To me this seems
unreasonable. Docker has a large footprint and I don't think it's
reasonable to require it for a normal, local build of Brooklyn.

We're not releasing Docker images. Should we be? Should we not be? Is it
even possible for us to do that in Apache?

Why haven't I seen this before? The changes to add this to brooklyn-dist
were made in 2017. I've performed release builds on clean EC2 instances and
never seen this. Was this dormant, and has something changed which has
kicked this into life?

brooklyn-dist is obsolete now. If the Docker build is still something
important, then firstly it needs moved to another project (hopefully one
exclusive to that task) and secondly it needs to use the Karaf distribution.

Can anyone shed some light on this?