Container Build Tiles

This page documents tiles that provide containerization support for NGSS projects using Docker and Jib technologies.

Deprecation and Retirement
  • NGSS Maven Tiles 1.x is deprecated as of 8/21/2025 and will no longer be maintained after that point.

  • java-service-base is deprecated as of 8/19/2025, so therefore the 1.x tiles that include it as the default base image (docker-maven-plugin-tile and jib-maven-plugin-tile) will likewise be deprecated.

  • After 6 months of being deprecated, these components will be officially retired from support.

Recommended actions for container tiles (docker-maven-plugin-tile and jib-maven-plugin-tile)

We recommend updating to the new "baseless" tiles introduced in version 1.9.0 - docker-maven-plugin-baseless-tile and jib-maven-plugin-baseless-tile, which do not rely on java-service-base and instead allow you to specify the base image directly in the project pom.xml.

This alleviates a common complaint with maintaining the ngss-maven-tiles version, since it was not readily apparent which version of Tiles corresponded to which version of the standard MAP base/ image, leading to confusion and having to dig unnecessarily for this info.

Recommended actions for all other tiles

Continue to use the most recent releases of 1.x and, if your project requires further customization of Maven configs that are included with these tiles, override applicable configuration(s) in your project’s pom.xml build/plugins field.

Docker Maven Plugin Tiles

docker-maven-plugin-tile (deprecated)

Provides comprehensive Docker container build configuration using the Docker Maven Plugin.

Features
  • Complete Docker build configuration

  • Base image selection and customization

  • Container image tagging and versioning

  • Registry push capabilities

  • Integration with NGSS container standards

Usage

Use when you need full Docker build functionality with base image dependencies.

docker-maven-plugin-baseless-tile

Provides Docker Maven Plugin configuration without base image dependencies.

Purpose

Allows projects to define their own base images while still using NGSS Docker build conventions.

Features
  • Docker build configuration without predefined base images

  • Flexible base image selection

  • Custom Dockerfile support

  • Registry configuration

Usage

Use when your project needs to specify its own base images or has custom Dockerfile requirements.

Jib Maven Plugin Tiles

Google Jib provides efficient container builds without requiring Docker runtime or Dockerfiles.

jib-maven-plugin-tile (deprecated)

Provides comprehensive Jib container build configuration with NGSS base images.

Features
  • Efficient container builds without Docker daemon

  • NGSS-standard base image configuration

  • Optimized layer caching for faster builds

  • Direct registry pushes

  • Integration with NGSS container conventions

Usage

Recommended for most Java services due to build efficiency and optimization.

Benefits over Docker
  • No Docker daemon required

  • Faster incremental builds through layer caching

  • Better integration with Maven build lifecycle

  • Optimized Java container images

jib-maven-plugin-baseless-tile

Provides Jib Maven Plugin configuration without base image dependencies.

Purpose

Allows projects to specify their own base images while using Jib’s efficient build process.

Features
  • Jib build configuration without predefined base images

  • Custom base image support

  • Efficient containerization without Docker

  • Flexible image customization

Usage

Use when your project needs custom base images but wants to benefit from Jib’s build efficiency.

Web Application Container Tile

web-docker-tile

Specialized container configuration for web applications and frontend projects.

Features
  • Web application specific container configuration

  • Static asset handling

  • Web server integration (typically nginx)

  • Frontend build integration

  • Web application deployment patterns

Usage

Use for web applications, SPAs, and frontend projects that need containerization.

Container Selection Guide

Choose Docker Maven Plugin when: - You need complete control over the container build process - You have complex Dockerfile requirements - You need to run custom commands during build - You’re building non-Java applications

Choose Jib Maven Plugin when: - Building Java applications (recommended) - You want faster, more efficient builds - You don’t need custom Dockerfile logic - You want better Maven integration

Choose "baseless" variants when: - You need to specify custom base images - Your security requirements mandate specific base images - You’re working with legacy systems that require specific base configurations