Packaging Red Hat build of OpenJDK 21 applications in containers
Abstract
Providing feedback on Red Hat build of OpenJDK documentation
To report an error or to improve our documentation, log in to your Red Hat Jira account and submit an issue. If you do not have a Red Hat Jira account, then you will be prompted to create an account.
Procedure
- Click the following link to create a ticket.
- Enter a brief description of the issue in the Summary.
- Provide a detailed description of the issue or enhancement in the Description. Include a URL to where the issue occurs in the documentation.
- Clicking Submit creates and routes the issue to the appropriate documentation team.
Making open source more inclusive
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.
Chapter 1. Red Hat build of OpenJDK applications in containers
Red Hat build of OpenJDK images have default startup scripts that automatically detect application JAR
files and launch Java. The script’s behavior can be customized using environment variables. For more information, see /help.md
in the container.
The Java applications in the /deployments
directory of the OpenJDK image are run when the image loads.
Containers that contain Red Hat build of OpenJDK applications are not automatically updated with security updates. Ensure that you update these images at least once every three months.
Application JAR
files can be fat JARs or thin JARs.
- Fat JARs contain all of the application’s dependencies.
Thin JARs reference other JARs that contain some, or all, of the application’s dependencies.
Thin JARs are only supported if:
- They have a flat classpath.
-
All dependencies are JARs that are in the
/deployments
directory.
Chapter 2. Deploying Red Hat build of OpenJDK application in containers
You can deploy Red Hat build of OpenJDK applications in containers and have them run when the container is loaded.
Procedure
Copy the application
JAR
to the/deployments
directory in the imageJAR
file.For example, the following shows a brief Dockerfile that adds an application called
testubi.jar
to the Red Hat build of OpenJDK 21 UBI8 image:FROM registry.access.redhat.com/ubi8/openjdk-17 COPY target/testubi.jar /deployments/testubi.jar
Chapter 3. Updating Red Hat build of OpenJDK container images
To ensure that an Red Hat build of OpenJDK container with Java applications includes the latest security updates, rebuild the container.
Procedure
- Pull the base Red Hat build of OpenJDK image.
Deploy the Red Hat build of OpenJDK application. For more information, see Deploying Red Hat build of OpenJDK applications in containers.
The Red Hat build of OpenJDK container with the Red Hat build of OpenJDK application is updated.
Additional resources
- For more information, see Red Hat OpenJDK Container images.
Revised on 2024-05-09 14:48:54 UTC