Unable to setup JRE 1.5 on Alpine Linux

I'd like to setup an Alpine based Java 1.5 docker image (base on Alpine from docker hub) for my apps execution/development environment, but the installer fails to run due to some checking (df command returns nothing). Then I try to extract the image from the .bin file and add execution permission to the extracted image, and it gives me something like ELF... not found. I've double checked for the architecture according to my downloaded version of JRE installer to make sure they're the same.

I wonder how people install JRE 7/8 to Alpine? Why not 5? And the most important, what can I do beside giving it up?

Thanks in advance.


Solution 1:

Alpine uses musl libc, while the Oracle Java binaries only run on glibc. This means you can't just use the binaries with out-of-the-box Alpine. vizzbuzz/base-java solves the complications musl libc introduces by installing a glibc package. Check out the Dockerfile to inspire your own, or just use that image for your project.

There's a very valuable discussion about this on docker-alpine issue #11.

For what it's worth, I love sillelien's base images for Alpine because these images use S6 as a process supervisor that fixes a few issues like logging and shutting down processes safely in response to the docker stop command.