Supported tags and respective Dockerfile links

For detailed information about the published artifacts of each of the above supported tags (image metadata, transfer size, etc), please see the repos/rapidoid directory in the docker-library/repo-info GitHub repo.

For more information about this image and its history, please see the relevant manifest file (library/rapidoid). This image is updated via pull requests to the docker-library/official-images GitHub repo.

What is Rapidoid?

Rapidoid is an extremely fast HTTP server and modern Java web framework / application container, with a strong focus on high productivity and high performance.


How to use this image

To quickly start Rapidoid and display some basic usage help, run:

        $ docker run --rm rapidoid --help


Rapidoid can be used in different ways:

  • as a web tool, to quickly prototype RESTful web services from the command line
  • as a HTTP server, to serve static resources
  • as a Java web application framework/container, to deploy a web application JAR

Quickly prototyping SQL-powered RESTful web services

To quickly prototype SQL-powered RESTful web services from the command line, you need to link the database container to the Rapidoid container. The MySQL containers should be linked under name mysql, and PostgreSQL containers under name postgres.

This example starts a new MySQL container and links it under name mysql in the Rapidoid container, where a RESTful service is defined by specifying SQL query for the route GET /users. The service returns the result (a list of MySQL users) in JSON format.

        docker run -d --name some-mysql -e MYSQL_ROOT_PASSWORD=db-pass mysql

docker run -it --rm 
    -p 8888:8888 
    --link some-mysql:mysql 
    '/users <= SELECT user FROM mysql.user'


Note: Please wait for several seconds for the MySQL database to initialize, and then you can visit http://localhost:8888/users (or http://your-host:8888/users) in your web browser.

Syntax for the service prototyping arguments:

        '[GET|POST|PUT|DELETE|PATCH] <uri> <= <sql>'


Serving static files

Rapidoid will automatically serve static files from the folders: /app/static (or /app/public, which is deprecated). To serve the contents of the /your-www-root directory, please mount it as /app/static:

        $ docker run -it --rm 
    -p 8888:8888 
    -v /your-www-root:/app/static 



Rapidoid will try to read the configuration from /app/config.yml. The configuration can also be specified with command-line arguments or environment variables.

To configure a custom port (by default 8888) for the default and the Admin server, run the following command. If admin.port is not configured, the default server is also used as Admin server, so only one port will be opened (on.port).

        $ docker run -it --rm 
    -p 4444:4444 
    -p 9999:9999 


Then you can visit http://localhost:4444/_ping (or http://your-host:4444/_ping) and http://localhost:9999/_status (or http://your-host:9999/_status) in your web browser.

The same setup can be configured with environment variables:

        $ docker run -it --rm 
    -p 4444:4444 
    -p 9999:9999 
    -e ON_PORT=4444 
    -e ADMIN_PORT=9999 


For more details, please see the full list of configuration options and their default values.


Rapidoid’s HMAC-based security token mechanism requires all containers to share the same secret key when scaling out a web application:

        $ docker run -it --rm 
    -p 8888:8888 
    -e SECRET=your-secret-key 


While this is an easy way to get started, for security reasons it is recommended to store the secret key in the /app/config.yml file, with proper permissions.

Note: For production use, you must replace your-secret-key with a real, private secret key.

Note: If no secret key is specified, a random secret key will be generated, which is acceptable when deploying a single container.

Full bootstrap of Rapidoid’s Admin Center

To bootstrap a full-blown Admin Center in Rapidoid, you will also need to configure a password for the built-in admin user:

        $ docker run -d 
    -p 8888:8888 
    -e SECRET=your-secret-key 
    -e USERS_ADMIN_PASSWORD=admin-pass 


Please replace admin-pass with a real password for the admin user. Then you can login to the Admin Center by visiting http://localhost:8888/_ (or http://your-host:8888/_) in your web browser.

Note: For production use, you must replace your-secret-key with a real, private secret key (please see the Security section).

How to extend this image (application JAR deployment)

To use this image as base image for your web application, simply add your application JAR as /app/app.jar:

        COPY <location/of/your/webapp.jar> /app/app.jar



View license information for the software contained in this image.

Supported Docker versions

This image is officially supported on Docker version 17.04.0-ce.

Support for older versions (down to 1.6) is provided on a best-effort basis.

Please see the Docker installation documentation for details on how to upgrade your Docker daemon.

User Feedback


If you have any problems with or questions about this image, please contact us through a GitHub issue. If the issue is related to a CVE, please check for a cve-tracker issue on the official-images repository first.

You can also reach many of the official image maintainers via the #docker-library IRC channel on Freenode.


You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.


Documentation for this image is stored in the rapidoid/ directory of the docker-library/docs GitHub repo. Be sure to familiarize yourself with the repository’s README.md file before attempting a pull request.

Add to wish list
Demo URL
Current Version
Last Update
Date Created
File Format(s)
File size
Compatible Platform
License Type
Support Options
Misc Info
Product Tags
More Questions
Change Log

You must log in and be a buyer of this download to submit a review.


Exact matches only
Search in title
Search in content
Search in comments
Search in excerpt
Filter by Custom Post Type



0 sales

Add to wish list

Download Categories: , ,
Download Tag:

Your Cart


Sign up to stay tuned and receive special offers!

Subscribe to one or more email lists you want to receive:

You May Also Like

Copyright 2019


Sign Up

Enter your email and Password

Log In

Enter your Username or email and password

Reset Password

Enter your email to reset your password

<-- script type="text/javascript">jQuery('#qt_popup_close').on('click', ppppop);