Docker image for WildFly project
Alternatives To Wildfly
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Rocket.chat37,122219 hours ago5August 18, 20222,983otherTypeScript
The communications platform that puts data protection first.
Argo Cd14,1785419 hours ago334July 31, 20233,004apache-2.0Go
Declarative continuous deployment for Kubernetes.
7 days ago107otherTypeScript
Scalable PaaS (automated Docker+nginx) - aka Heroku on Steroids
Dagger9,053219 hours ago81September 13, 2022404apache-2.0Go
A programmable CI/CD engine that runs your pipelines in containers
Aws Sam Cli6,371311219 hours ago168July 27, 2023386apache-2.0Python
CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
Ko6,34343a day ago164June 20, 202368apache-2.0Go
Build and deploy Go applications
20 hours ago388apache-2.0Scala
Apache OpenWhisk is an open source serverless cloud platform
Deis6,104614 years ago68January 19, 20174mitPython
Deis v1, the CoreOS and Docker PaaS: Your PaaS. Your Rules.
Fate5,20019 days ago30April 18, 2022786apache-2.0Python
An Industrial Grade Federated Learning Framework
4 months ago19December 13, 2022125apache-2.0TypeScript
Build data pipelines, the easy way 🛠️
Alternatives To Wildfly
Select To Compare

Alternative Project Comparisons

WildFly Docker image

This is an example Dockerfile with WildFly application server.


Official builds for this image are now published to https://quay.io/wildfly/wildfly.
Previous repository at https://hub.docker.com/r/jboss/wildfly is no longer updated with new images.

WildFly Images

WildFly publishes images to run the application server with different JDK versions. The tag of the image identifies the version of WildFly as well as the JDK version in the images.

For each release of WildFly (e.g. 28.0.0.Final), there are fixed tags for each supported JDK version:

  • quay.io/wildfly/wildfly:28.0.0.Final-jdk11
  • quay.io/wildfly/wildfly:28.0.0.Final-jdk17
  • quay.io/wildfly/wildfly:28.0.0.Final-jdk20

There are also floating tags available to pull the latest release of WildFly on the various JDK:

  • quay.io/wildfly/wildfly:latest-jdk11
  • quay.io/wildfly/wildfly:latest-jdk17
  • quay.io/wildfly/wildfly:latest-jdk20

Finally, there is the latest tag that pull the latest release of WildFly on the latest LTS JDK version:

  • quay.io/wildfly/wildfly:latest


This floating tag may correspond to a different JDK version in future releases of WildFly images.

Instead of using the latest tag, we recommend to use the floating tag with the JDK version mention to guarantee the use of the same JDK version across WildFly releases (e.g. latest-jdk17).


To boot in standalone mode

docker run -it quay.io/wildfly/wildfly

To boot in standalone mode with admin console available remotely

docker run -p 8080:8080 -p 9990:9990 -it quay.io/wildfly/wildfly /opt/jboss/wildfly/bin/standalone.sh -b -bmanagement

To boot in domain mode

docker run -it quay.io/wildfly/wildfly /opt/jboss/wildfly/bin/domain.sh -b -bmanagement

Application deployment

With the WildFly server you can deploy your application in multiple ways:

  1. You can use CLI
  2. You can use the web console
  3. You can use the management API directly
  4. You can use the deployment scanner

The most popular way of deploying an application is using the deployment scanner. In WildFly this method is enabled by default and the only thing you need to do is to place your application inside of the deployments/ directory. It can be /opt/jboss/wildfly/standalone/deployments/ or /opt/jboss/wildfly/domain/deployments/ depending on which mode you choose (standalone is default in the jboss/wildfly image -- see above).

The simplest and cleanest way to deploy an application to WildFly running in a container started from the quay.io/wildfly/wildfly image is to use the deployment scanner method mentioned above.

To do this you just need to extend the quay.io/wildfly/wildfly image by creating a new one. Place your application inside the deployments/ directory with the ADD command (but make sure to include the trailing slash on the deployment folder path, more info). You can also do the changes to the configuration (if any) as additional steps (RUN command).

A simple example was prepared to show how to do it, but the steps are following:

  1. Create Dockerfile with following content:

     FROM quay.io/wildfly/wildfly
     ADD your-awesome-app.war /opt/jboss/wildfly/standalone/deployments/
  2. Place your your-awesome-app.war file in the same directory as your Dockerfile.

  3. Run the build with docker build --tag=wildfly-app .

  4. Run the container with docker run -it wildfly-app. Application will be deployed on the container boot.

This way of deployment is great because of a few things:

  1. It utilizes Docker as the build tool providing stable builds
  2. Rebuilding image this way is very fast (once again: Docker)
  3. You only need to do changes to the base WildFly image that are required to run your application


Logging can be done in many ways. This blog post describes a lot of them.

Customizing configuration

Sometimes you need to customize the application server configuration. There are many ways to do it and this blog post tries to summarize it.

Extending the image

To be able to create a management user to access the administration console create a Dockerfile with the following content

FROM quay.io/wildfly/wildfly
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin#70365 --silent
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "", "-bmanagement", ""]

Then you can build the image:

docker build --tag=jboss/wildfly-admin .

Or for JDK 11:

docker build --build-arg dist=centos7 --build-arg jdk=11 --tag=jboss/wildfly-admin .

Or for JDK 20:

docker build --build-arg dist=ubi9-minimal --build-arg jdk=20 --tag=jboss/wildfly-admin .

Run it:

docker run -it jboss/wildfly-admin

Administration console will be available on the port 9990 of the container.

Building on your own

You don't need to do this on your own, because we prepared a trusted build for this repository, but if you really want:

docker build --rm=true --tag=jboss/wildfly .

Image internals [updated May 4, 2023]

This image extends the eclipse-temurin JDK. Starting with JDK 20, this base OS used is ubi9-minimal. Earlier versions, including the LTS JDK 11 and JDK 17, are based on centos7. A UBI 9 image to validate the build arguments provided.

This image installs the wildfly server and sets up the JBoss environment similar to jboss/base image. Please refer to the README.md for selected images and more info.

The server is run as the jboss user which has the uid/gid set to 1000.

WildFly is installed in the /opt/jboss/wildfly directory.


The source is available on GitHub.


Please report any issues or file RFEs on GitHub.

Popular Docker Projects
Popular Deployment Projects
Popular Virtualization Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.