fabric8io-images / s2i

OpenShift S2I images for Java and Karaf applications
Apache License 2.0
70 stars 84 forks source link

Java 11 image published on Docker Hub #203

Closed vorburger closed 5 years ago

vorburger commented 5 years ago

We'll want to make Circle CI push the new Java 11 image to Docker Hub, just like the current Java 8 one.

Do we create a new image (e.g. s2i-java-11-fedora, or anyone got a better?) or just tag?? Pros / Cons?

Do we wait for CentOS #193 or publish the Fedora based one already?

Perhaps first do #196 ..

rhuss commented 5 years ago

Maybe you are right we should might wait for the centos image to publish so to avoid confusion when pulling Java 11 images.

So I wont push it right now, as it seems that the next CentOS is really close to be released.

vorburger commented 5 years ago

The goal of this issue should be to push the new centos-java11. I'll keep fedora-java11 from #189 / #160 as-is, for now; just in case it could be useful in the future to test something Fedora against CentOS. But let's only push the CentOS one to Docker Hub here in this issue, not the Fedora one, to avoid confusion.

vorburger commented 5 years ago

@ctron now that #193 is done, 48d2e74 has FINALLY :1st_place_medal: just pushed our first latest-java11 (ok?) to https://hub.docker.com/r/fabric8/s2i-java/tags/ ... left to do here in this issue:

  1. something similar to 48d2e74 but in java-tag to push e.g. a future 3.0-java11 (?) release

  2. The Full Description on Docker Hub from README is technically incorrect now ... it's no longer just "with OpenJDK 8" - it, now, depends on which tag you use (latest is Java 8, latest-java11 is Java 11). How do we fix that?? Some other images have a Supported tags and respective Dockerfile links, how do they do that:

ctron commented 5 years ago

Honestly, I would never really want to use latest. You never really know what you get.

I think going for 1. would be the right way. 2.3-java11 sounds like the way to go IMHO. However I would also add 2.3-java8, just to be explicit about what you get.

Maybe it is time for 2.4? And start using those new tags.

What I noticed is that the new "java11" image is twice as big as the other ones. Is there a reason for that?

vorburger commented 5 years ago

Yeah, OK; so let me try to do a 3.0-java8 + 3.0-java11 (not 2.4) ASAP ...

What I noticed is that the new "java11" image is twice as big as the other ones. Is there a reason for that?

that's most probably due to #181 (WIP) - join that party and chime in? :smile: I could revert it for a 3.0 rel..

FYI it's going to go down again with https://bugzilla.redhat.com/show_bug.cgi?id=1652177.

vorburger commented 5 years ago

Fully done - https://hub.docker.com/r/fabric8/s2i-java/tags/ now has:

ctron commented 5 years ago

@vorburger I think there is something wrong with the "3.0.0" tags, I can't find them on Docker Hub.

vorburger commented 5 years ago

@ctron yeah, sorry; @rhuss and I had a confusion the clean-up of 3.0.0 without -java8 & -java11.. I'll fix it.

vorburger commented 5 years ago

@ctron https://hub.docker.com/r/fabric8/s2i-java/tags/ now (again) has 3.0.0-java11 & 3.0.0-java8.

edeandrea commented 5 years ago

Maybe I'm missing something but when I use either the latest-java11 or 3.0.0-java11 image, when I deploy the image and run it it is running with the OpenJDK 1.8 image (see output from a Spring Boot actuator /actuator/env/java.home):

"property": {
  "source": "systemProperties",
  "value": "/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre"
}
vorburger commented 5 years ago

@edeandrea could this be some mix up on your side? Because it seems correct, look:

docker run fabric8/s2i-java:latest-java11 java -version

this prints, as expected:

openjdk version "11.0.1" 2018-10-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.1+13-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode, sharing)

I'm getting the same using :3.0.0-java11 instead of :latest-java11.

Also check this out, there is no /usr/lib/jvm/java-1.8.0-* :

$ docker run fabric8/s2i-java:latest-java11 ls /usr/lib/jvm/ 
java
java-11
java-11-openjdk
java-11-openjdk-11.0.1.13-3.el7_6.x86_64
java-openjdk
jre
jre-11
jre-11-openjdk
jre-11-openjdk-11.0.1.13-3.el7_6.x86_64
jre-openjdk

FYI just to make sure we're talking about the same thing, I wiped all local images first:

docker images | xargs docker rmi
edeandrea commented 5 years ago

Thanks @vorburger yeah I see the same thing. Its weird. I'm trying to deploy a Spring Boot app on OpenShift using a template. When I instantiate the template I see the S2I build run (this is a Gradle build) and then the deployment pod comes up. When I bring up the Spring Boot env actuator it still shows OpenJDK 8. The template is here and the source of the project is here.

vorburger commented 5 years ago

The template is here

Not 100% sure, but if I were you I would have a closer look around line 81, where you used name: fabric8/s2i-java for the kind: DockerImage(and then name: latest-java11 in line 82) ... I suspect you may have to use name: fabric8/s2i-java:latest-java11 in line 81? (Or have a closer look at this doc.)

cvgaviao commented 5 years ago

I know that this issue is closed but I think that doesn't worth to create one just to ask: why the size described here of latest-java11 (203MB) and 3.0.0-java11 (166 MB) are different ?