Public | Automated Build

Last pushed: 2 years ago
Short Description
**DEPRECATED** Please use
Full Description

Spring Boot - Maven 3 - CentOS Docker image


This repository contains the sources and
of the base image for deploying Spring Boot applications as reproducible Docker
images. The resulting images can be run either by Docker
or using S2I.

This image is heavily inspired by the awesome openshift/sti-ruby,
builder images.


TODO Publish Image to Docker Hub

Repository organization

  • s2i/bin/

    This folder contains scripts that are run by S2I:

    • assemble

      Is used to restore the build artifacts from the previous built (in case of
      'incremental build'), to install the sources into location from where the
      application will be run and prepare the application for deployment (eg.
      using maven to build the application etc..)

    • run

      This script is responsible for running a Spring Boot fat jar using java -jar.
      The image exposes port 8080, so it expects application to listen on port
      8080 for incoming request.

    • save-artifacts

      In order to do an incremental build (iow. re-use the build artifacts
      from an already built image in a new image), this script is responsible for
      archiving those. In this image, this script will archive the
      /opt/java/.m2 directory.

Environment variables

  • APP_ROOT (default: '.')

    This variable specifies a relative location to your application inside the
    application GIT repository. In case your application is located in a
    sub-folder, you can set this variable to a ./myapplication.


In order to test your changes to this STI image or to the STI scripts, you can
use the test/run script. Before that, you have to build the 'candidate' image:

$ docker build -t codecentric/springboot-maven3-centos-candidate .

After that you can execute ./test/run. You can also use make test to
automate this.


Building the spring-boot-example Spring Boot application..

  1. using standalone S2I and running the resulting image by Docker:
$ s2i build git:// codecentric/springboot-maven3-centos spring-boot-app
$ docker run -p 8080:8080 spring-boot-app

Accessing the application:

$ curl


Released under the Apache License 2.0. See the LICENSE file.

Docker Pull Command