wildfly

A lightweight Java EE / Jakarta EE runtime for deploying and managing enterprise Java applications.

jboss/keycloak
openjdk
tomee
payara/server-full

What is wildfly image?

The wildfly image provides a containerized distribution of WildFly, a modular, high-performance Jakarta EE (formerly Java EE) application server. WildFly supports servlets, JAX-RS REST services, CDI, EJB, JMS, JPA, and other enterprise Java APIs, making it suitable for large-scale, stateful, or transactional workloads.

In modern containerized environments, the wildfly image is used to run legacy and modern Java applications alike, often as part of enterprise microservices platforms or migration efforts from traditional on-prem servers. Its modular classloading system and extensible subsystem architecture let teams tailor the runtime for specific use cases, such as messaging, persistence, or security.

WildFly is frequently deployed in Kubernetes and OpenShift clusters, where it benefits from container-level scaling, configuration injection, and CI/CD automation.

How to use this image

The wildfly image can run applications packaged as .war or .ear files, or be used as a base image to build custom application servers.

Run WildFly interactively:

docker run -it -p 8080:8080 jboss/wildfly

Deploy an application by mounting a WAR file:

docker run -d -p 8080:8080 \ -v $(pwd)/myapp.war:/opt/jboss/wildfly/standalone/deployments/myapp.war \ jboss/wildfly

Build a custom image with your application preinstalled:

FROM jboss/wildfly:29.0.1.Final COPY myapp.war /opt/jboss/wildfly/standalone/deployments/

Configure WildFly using CLI scripts:

docker exec -it wildfly \ /opt/jboss/wildfly/bin/jboss-cli.sh --connect --command=":reload"

WildFly listens on port 8080 (HTTP) and exposes admin features via the management console or CLI. Logs are written to stdout and can be viewed using docker logs.

Image variants

Published under jboss/wildfly, the image is available in multiple variants:

  • jboss/wildfly:latest
    Most recent stable version of WildFly.
    Best for testing or non-critical environments.
  • jboss/wildfly: Pinned version such as 29.0.1.Final. Recommended for production to ensure consistent behavior across deployments.
  • jboss/wildfly:-slim Stripped-down variant with fewer modules and dependencies. Useful for minimizing image size when only specific subsystems are required.
  • jboss/wildfly:-domain Domain mode variant for multi-server administration. Appropriate for clustered or coordinated deployments.

WildFly images are updated with upstream releases; pin exact tags for predictable deployments.

Interested in base images that start and stay clean?