[
https://issues.apache.org/jira/browse/SOLR-15127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17277542#comment-17277542
]
Chris M. Hostetter commented on SOLR-15127:
-------------------------------------------
bq. David Smiley's suggestion of using the Solr TGZ release as the docker
context itself.
That's pretty close to what i do in one code path of this patch -- except that
(as you mentioned) the Dockerfile and solr/docker/scripts aren't in the
solr.TGZ so i left in the existing build.gradle logic to provide those.
I do however think there is a lot of value in supporting the "build from a
remote git url" approach as well, since it let's people build from arbitrary
branches w/o a local java env. I also think that from a _transparency_
standpoint with the official builds, it would be better to build them from
_source_ ... either the official git tag, or perhaps using the solr-src.tgz
release instead of the (compiled) solr.tgz?
The broader question I have though at this point is how people feel about this
style of "all in one" Dockerfile that uses 'sh' conditional logic in the RUN to
support 2 diff ways to building:
* "docker stage runs gradle to create solr.tgz; then creates & lays out image"
** makes it easy to use git repo or solr-src.tgz as build context for
transparency and portable building of docker images w/o java dev env
* "gradle builds solr.tgz; then invokes docker to create & layout image"
** makes it eas(ier) for people to iteratively develop/patch solr in their java
env & then build docker images from that
It really feels like the best of both worlds to me.
----
bq. I think we can actually add the version as a file inside the release, and
then read it into an env var as a part of RUN. Then we can sym-link from
/opt/solr to /opt/solr-$version, to keep backwards compatibility.
I wasn't sure if there was a *reason* to keep the symlink approach, but yeah,
it would be easy to add back if needed. I don't really have any strong
feelings on where it happens -- just trying to take advantage of the fact that
we can be multi-stage.
bq. Did you move it to the builder so that the final image wouldn't need the
GITHUB_URL arg?
My goal was just to move everything that *could* be in the builder stage into
the builder stage, to "fail fast" and try to keep the final image as small as
possible.
> All-In-One Dockerfile for building local images as well as reproducible
> release builds directly from (remote) git tags
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: SOLR-15127
> URL: https://issues.apache.org/jira/browse/SOLR-15127
> Project: Solr
> Issue Type: Sub-task
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Chris M. Hostetter
> Priority: Major
> Attachments: SOLR-15127.patch
>
>
> There was a recent dev@lucene discussion about the future of the
> github/docker-solr repo and (Apache) "official" solr docker images and using
> the "apache/solr" nameing vs (docker-library official) "_/solr" names...
> http://mail-archives.apache.org/mod_mbox/lucene-dev/202101.mbox/%3CCAD4GwrNCPEnAJAjy4tY%3DpMeX5vWvnFyLe9ZDaXmF4J8XchA98Q%40mail.gmail.com%3E
> In that disussion, mak pointed out that docker-library evidently allows for
> some more flexibility in the way "official" docker-library packages can be
> built (compared to the rules that were evidnlty in place when the mak setup
> the current docker-solr image building process/tooling), pointing out how the
> "docker official" elasticsearch images are current built from the "elastic
> official" elasticsearch images...
> http://mail-archives.apache.org/mod_mbox/lucene-dev/202101.mbox/%3C3CED9683-1DD2-4F08-97F9-4FC549EDE47D%40greenhills.co.uk%3E
> Based on this, I proposed that we could probably restructure the Solr
> Dockerfile so that it could be useful for both "local development" -- using
> the current repo checkout -- as well as for "apache official" apache/solr
> images that could be reproducibly built directly from pristine git tags using
> the remote git URL syntax supported by "docker build" (and then -- evidently
> -- extended by trivial one line Dockerfiles for the "docker-library official"
> _/solr images)...
> http://mail-archives.apache.org/mod_mbox/lucene-dev/202101.mbox/%3Calpine.DEB.2.21.2101221423340.16298%40slate%3E
> This jira tracks this idea.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]