liveBook · Manning

Quarkus-container-image-docker

As explained in Quarkus in Action

quarkus-container-image-docker is a Quarkus extension that builds container images using generated Dockerfiles and Docker.

quarkus-container-image-docker builds Quarkus container images with the generated Dockerfiles in src/main/docker, integrating ordinary Docker builds into the application build pipeline. section 11.2 section 11.2.2

Use the extension through the Quarkus CLI or standard build configuration:

  • Add it with quarkus ext add quarkus-container-image-docker. section 11.2.2
  • Build locally with quarkus image build, or use -Dquarkus.container-image.build=true with Maven or the equivalent Gradle build. section 11.2.2
  • Push with quarkus image push or -Dquarkus.container-image.push=true; Docker Hub is the default registry when none is configured. section 11.2.2
  • Set quarkus.container-image.builder when multiple container-image extensions share a build configuration or profile. section 11.2.2

Push a service to Quay.io

Configure quarkus.container-image.registry=quay.io, set quarkus.container-image.group to the target organization, and choose a tag such as 1.0.0. After docker login quay.io, run ./mvnw clean package -Dquarkus.container-image.build=true -Dquarkus.container-image.push=true, or use quarkus image push --also-build. section 11.2.4

Docker or Podman remains necessary for local image handling. The extension performs normal Docker builds, while alternative extensions target Podman, Buildpacks, Jib, or OpenShift. section 11.2

How Quarkus in Action covers it

How deep it goes
Explains extension installation, CLI and build-property commands, registry configuration, and conflicts between multiple image builders.
Examples
Uses the Reservation service and Quay.io-published car-rental service images as concrete build-and-push examples.
What it assumes
Assumes a Quarkus project and local Docker access, plus registry authentication when publishing images.
What you can do after
Build it via the Quarkus CLI or Maven and push it to Docker Hub or Quay.io with configured image coordinates.
How it connects
Connects Quarkus CLI, Maven, Gradle, Docker, Podman, Jib, Buildpacks, OpenShift, Dockerfiles, and container registries.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Quarkus in Action. The section links point to the parts of the book it draws on.