MCPcopy Index your code
hub / github.com/fabric8io/docker-maven-plugin

github.com/fabric8io/docker-maven-plugin @v0.48.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.48.1 ↗ · + Follow
4,210 symbols 17,553 edges 320 files 555 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

docker-maven-plugin

Maven Central Circle CI Coverage Technical Debt

This is a Maven plugin for building Docker images and managing containers for integration tests. It works with Maven 3.0.5 and Docker 1.6.0 or later.

Goals

Goal Description Default Lifecycle Phase
docker:start Create and start containers pre-integration-test
docker:stop Stop and destroy containers post-integration-test
docker:build Build images install
docker:watch Watch for doing rebuilds and restarts
docker:push Push images to a registry deploy
docker:remove Remove images from local docker host post-integration-test
docker:logs Show container logs
docker:source Attach docker build archive to Maven project package
docker:save Save image to a file
docker:tag Tag images install
docker:volume-create Create a volume to share data between containers pre-integration-test
docker:volume-remove Remove a created volume post-integration-test
docker:copy Copy files and directories from a container post-integration-test

Documentation

  • The User Manual [PDF] has a detailed reference for all and everything.
  • The Introduction is a high-level overview of this plugin's features and provides a usage example. provided goals and possible configuration parameters.
  • Examples are below samples/ and contain example setups that you can use as blueprints for your projects.
  • ChangeLog has the release history of this plugin.
  • Contributing explains how you can contribute to this project. Pull requests are highly appreciated!
  • We publish nightly builds on maven central. Read How to use Docker Maven Plugin Snapshot artifacts.

Docker API Support

  • Docker 29+ (v1.44) is the minimal required version for compatibility with Docker 29+ daemon
  • Docker 1.6 (v1.18) is the minimal required version
  • Docker 1.8.1 (v1.20) is required for docker:watch
  • Docker 1.9 (v1.21) is required for using custom networks and build args.

Extension points exported contracts — how you extend this code

DockerHostProvider (Interface)
Provider of environment variables like 'DOCKER_HOST' [7 implementers]
src/main/java/io/fabric8/maven/docker/access/DockerConnectionDetector.java
WaitChecker (Interface)
Interface for various wait checkers @author roland @since 25/03/2017 [12 implementers]
src/main/java/io/fabric8/maven/docker/wait/WaitChecker.java
Resolver (Interface)
A resolver can map one given image configuration to one or more image configurations This is e.g. used for resolving pro [7 …
src/main/java/io/fabric8/maven/docker/config/ConfigHelper.java
ExternalConfigHandler (Interface)
Interface which needs to be implemented to create image configurations from external sources @author roland @since 18/1 [6 …
src/main/java/io/fabric8/maven/docker/config/handler/ExternalConfigHandler.java
Container (Interface)
Interface representing a container @author roland @since 16/07/15 [5 implementers]
src/main/java/io/fabric8/maven/docker/model/Container.java

Core symbols most depended-on inside this repo

get
called by 540
src/main/java/io/fabric8/maven/docker/service/ImagePullManager.java
build
called by 378
src/main/java/io/fabric8/maven/docker/config/Arguments.java
add
called by 230
src/main/java/io/fabric8/maven/docker/assembly/DockerFileBuilder.java
size
called by 226
src/main/java/io/fabric8/maven/docker/access/AuthConfigList.java
put
called by 218
src/main/java/io/fabric8/maven/docker/service/ImagePullManager.java
getName
called by 154
src/main/java/io/fabric8/maven/docker/model/Network.java
asList
called by 132
src/main/java/io/fabric8/maven/docker/config/handler/compose/DockerComposeServiceWrapper.java
append
called by 125
src/main/java/io/fabric8/maven/docker/service/BuildXService.java

Shape

Method 3,762
Class 392
Interface 30
Enum 25
Function 1

Languages

Java100%
C1%

Modules by API surface

src/main/java/io/fabric8/maven/docker/config/BuildImageConfiguration.java109 symbols
src/main/java/io/fabric8/maven/docker/config/RunImageConfiguration.java103 symbols
src/test/java/io/fabric8/maven/docker/config/handler/property/PropertyConfigHandlerTest.java71 symbols
src/test/java/io/fabric8/maven/docker/CopyMojoTest.java71 symbols
src/main/java/io/fabric8/maven/docker/service/WatchService.java68 symbols
src/main/java/io/fabric8/maven/docker/config/handler/compose/DockerComposeServiceWrapper.java63 symbols
src/main/java/io/fabric8/maven/docker/access/hc/DockerAccessWithHcClient.java61 symbols
src/test/java/io/fabric8/maven/docker/util/AuthConfigFactoryTest.java60 symbols
src/test/java/io/fabric8/maven/docker/access/hc/DockerAccessWithHcClientTest.java60 symbols
src/test/java/io/fabric8/maven/docker/service/RegistryServiceTest.java58 symbols
src/test/java/io/fabric8/maven/docker/service/RunServiceTest.java49 symbols
src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyConfigurationSource.java49 symbols

For agents

$ claude mcp add docker-maven-plugin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact