Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rename project/repo to include "s2i" ? #56

Closed
vorburger opened this issue Feb 12, 2019 · 7 comments
Closed

rename project/repo to include "s2i" ? #56

vorburger opened this issue Feb 12, 2019 · 7 comments

Comments

@vorburger
Copy link
Contributor

@jmtd I find it curious that this repo/project is named "openjdk" (under jboss-container-images) when, in fact, it's not (just) an OpenJDK container image, but an S2I builder image (based on OpenJDK). Is it too late to rename this to something like s2i-openjdk or openjdk-s2i ? And perhaps (now or in the future) have a separate repo/project named "openjdk" for an image with the community version of a CentOS/Fedora OpenJDK container, automatically kept up-to-date, but without the S2I stuff. Just a thought.

@jorgemoralespou
Copy link

+1
We need non-s2i variants, so making clear when images are s2i makes sense.

@jmtd
Copy link
Member

jmtd commented Feb 13, 2019

There are some conversations going on about a non-S2I (and non JDK) image variant, but it's not clear what the spec of that will be (should it include JDK? should it include Maven?), and it's likely that it would co-exist in this repository perhaps via an overrides file or in a separate branch. So it seems premature to rename this repository until those details are worked out; also, at least if/until that image exists, this is the only image being produced by the RH OpenJDK team. So the name seems appropriate for the current state of the world.

@vorburger
Copy link
Contributor Author

There are some conversations going on about a non-S2I (and non JDK) image variant

anything you can link to?

but it's not clear what the spec of that will be (should it include JDK? should it include Maven?),

A new TBD OpenJDK base container image (non-S2I) certainly SHOULD include JDK - otherwise what is in it? Or do you mean whether it should include the JDK vs. the JRE? My view on that would be that we should, ideally, offer both IMHO.

Such a base image should certainly NOT include Maven IMHO - that's the role of this S2I image? And not everyone builds with Maven (Gradle #64), or with whatever fixed version of Maven you would choose (#68).

@jmtd
Copy link
Member

jmtd commented Feb 14, 2019

anything you can link to?

I don't think so.

Or do you mean whether it should include the JDK vs. the JRE? My view on that would be that we should, ideally, offer both IMHO.

Yes that. One question for a JRE only image (and caveat: the terminology/distinction between JRE/JDK is going away so we should apparently avoid it, but not sure what to use instead): how does the user use it with their code / get their code into a derivative image?

@vorburger
Copy link
Contributor Author

Yes that. One question for a JRE only image (and caveat: the terminology/distinction between JRE/JDK is going away so we should apparently avoid it, but not sure what to use instead):

Huh? If it's branding/naming crap, just use e.g JRE = Runtime Image & JDK = (non-S2I) Build Time ...

how does the user use it with their code / get their code into a derivative image?

Erm... how do you mean? One can esily just FROM such an image, like the whole (non-S2I) world does everywhere... So e.g. in https://github.com/fabric8io-images/s2i/tree/master/java/examples/maven, but a Dockerfile like so:

FROM s2i-java-11

COPY target/HttpServer-example-1.0-SNAPSHOT.jar /deployments/

CMD java -jar /deployments/HttpServer-example-1.0-SNAPSHOT.jar

and then:

docker build . -t test
docker run --rm -it test

The use of fabric8io-images/s2i is irrelevant here of course, this is NOT S2I anymore (which is what we are discussed here now, I think), I've just used it because it was the fastest way for me to illustrate the point - hope that makes sense.

Or did I misunderstand your question?

@jmtd
Copy link
Member

jmtd commented Feb 18, 2019

Huh? If it's branding/naming crap, just use e.g JRE = Runtime Image & JDK = (non-S2I) Build Time ...

It's a change in the way that Java/OpenJDK are being built/prepared/marketed/blah. But using "builder" and "runtime" also dovetails nicely with other things in the container universe.

how do you mean? One can esily just FROM such an image,

That's exactly what I mean, yes. So what exactly is the runtime image, then? If someone is writing this already:

FROM s2i-java-11
COPY target/HttpServer-example-1.0-SNAPSHOT.jar /deployments/
CMD java -jar /deployments/HttpServer-example-1.0-SNAPSHOT.jar

Is there any point in a runtime image when it would trivially amount to the extra 3 lines here

FROM rhel7 # or centos, or…
USER 0
RUN yum install -y java-11-openjdk-11 && rpm -q java-11-openjdk
USER 185 # whatever
COPY target/HttpServer-example-1.0-SNAPSHOT.jar /deployments/
CMD java -jar /deployments/HttpServer-example-1.0-SNAPSHOT.jar

@vorburger
Copy link
Contributor Author

So what exactly is the runtime image, then? If someone is writing this already:
Is there any point in a runtime image when it would trivially amount to the extra 3 lines here

good point, but personally I do think there is value in having this.. here are a few of the reasons why:

Let's move this discussion to new issue #72 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants