The original official GlassFish image was created in 2014 by the AWS under the Elastic Beanstalk project and contained Oracle GlassFish distributions version 4.0 and 4.1. However later the official image was abandoned and marked as deprecated.
Since 2023 the commercial support is provided by the company OmniFish, which is highly active in the Eclipse GlassFish project and also Jakarta EE. In fact the individual developers of the company supported the Eclipse GlassFish long before they created the OmniFish company. After the release of Eclipse GlassFish 7.0.0 there was a discussion where several users asked for the official Eclipse GlassFish Docker Image.
So ... here it is!
- Links to examples will be added soon ...
- GlassFish Mailing List for questions
- GlassFish GitHub for well defined and repeatable issues
- OmniFish Commercial Support for paid active help and other services
Eclipse GlassFish 6 contains many changes, however some of important start/stop issues were fixed with redesign and refactoring done for Eclipse GlassFish 7. Simply said, 6 is not ready for Docker.
See https://www.eclipse.org/legal/epl-2.0/
- The following instructions will be improved, now it is rather expected way.
- This repository reflects just supported versions.
- Changes are done here first, then you create a PR for docker-images and a PR for docker-images-docs
- Repository contains copy-pastes. The reason is that Official Docker Images use just and only Dockerfiles from this repository, but before we push them out, we already wanna know that they are correct.
- Run the build for changed images, example:
mvn clean verify -Dglassfish.version=7.0.12
- Commit and push
- Visit the
docker-library/official-images
repository and replace thelibrary/glassfish
file with the file from thetarget
directory- Don't forget to update the
GitCommit
line with the commit id - Don't forget to add the
latest
tag to the latest version (as the first one) and remove it from the previous version.
- Don't forget to update the
- Visit the
docker-library/docs
repository and replace the contents of theglassfish
directory with the contents of thetarget/classes/docs
directory
Sometimes you need a customized version. OmniFish decided to push its images to its own repository until Docker Hub decides to merge our PR.
- Update what you like *. Especially check the Dockerfile's base image version, JDK version.
- Build the image, perhaps also with other parameters:
mvn clean verify -Dglassfish.version=7.0.12 -Ddocker.glassfish.repository=myrepo/glassfish4myproject -Ddocker.noCache=true -Ddocker.glassfish.tag=7.0.12.CUST4MYPROJECT
- Deploy the image:
docker login # will ask for your username and password docker push myrepo/glassfish4myproject:7.0.12.CUST4MYPROJECT docker logout
- Repeat the steps 2 and 3 for the
latest
tag - Update the description of the Docker image in the repository with the contents of the file
target/classes/docs/content.md
You don't need to change anything here. Visit the docker-images-docs repository, update the README.md file and create a PR.
- Visit the
docker-library/official-images
and remove the block inlibrary/glassfish
you want to be removed. - Visit the
docker-library/docker-images-docs
repository, update the README.md file and create a PR. - Remove the directory here, then commit and push.