Docker images for Apache Maven Daemon (mvnd) with multi-JDK support, enabling fast Maven project builds in containerized environments.
# Use JDK 17 (Recommended)
docker pull power4j/mvnd:1.0.2-temurin-17-jdk-jammy
# Use JDK 8
docker pull power4j/mvnd:1.0.2-temurin-8-jdk-jammy
# Use JDK 11
docker pull power4j/mvnd:1.0.2-temurin-11-jdk-jammy
# Use JDK 21
docker pull power4j/mvnd:1.0.2-temurin-21-jdk-jammy
# Use JDK 22
docker pull power4j/mvnd:1.0.2-temurin-22-jdk-jammy# Run in Maven project directory
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install
# Or use alias to simplify commands
alias mvnd='docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd'
mvnd clean installpower4j/mvnd:{mvnd-version}-{jdk-type}
| JDK Version | Image Tag | Base Image | Recommended Use | 
|---|---|---|---|
| JDK 8 | temurin-8-jdk-jammy | 
eclipse-temurin:8-jdk-jammy | 
Legacy project compatibility | 
| JDK 11 | temurin-11-jdk-jammy | 
eclipse-temurin:11-jdk-jammy | 
LTS version | 
| JDK 17 | temurin-17-jdk-jammy | 
eclipse-temurin:17-jdk-jammy | 
Recommended LTS version | 
| JDK 21 | temurin-21-jdk-jammy | 
eclipse-temurin:21-jdk-jammy | 
Latest LTS version | 
| JDK 22 | temurin-22-jdk-jammy | 
eclipse-temurin:22-jdk-jammy | 
Latest version | 
1.0.2(current default)- Other versions available at GitHub Releases
 
# Clean and build
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install
# Skip tests
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -DskipTests# Run all tests
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd test
# Run specific test
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd test -Dtest=MyTestClass# Package as JAR
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd package
# Package as WAR
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd package -Pwar# Deploy to local repository
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd deploy
# Deploy to remote repository
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd deploy -DaltDeploymentRepository=remote-repo::default::https://your-repo.com# Use custom settings.xml
docker run --rm \
  -v $(pwd):/workspace \
  -v ~/.m2/settings.xml:/root/.m2/settings.xml \
  -w /workspace \
  power4j/mvnd:1.0.2-temurin-17-jdk-jammy \
  mvnd clean install -s /root/.m2/settings.xml# Use specific profile
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -Pproduction
# Use multiple profiles
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -Pdev,test# Set memory limits
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -Dmvnd.jvmargs="-Xmx2g -Xms1g"
# Set system properties
docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install -Dspring.profiles.active=prodCreate docker-compose.yml:
version: '3.8'
services:
  mvnd:
    image: power4j/mvnd:1.0.2-temurin-17-jdk-jammy
    volumes:
      - .:/workspace
      - ~/.m2:/root/.m2
    working_dir: /workspace
    command: mvnd clean installRun:
docker-compose up- 
Permission Issues
# Ensure current user has read/write permissions on project directory sudo chown -R $(id -u):$(id -g) .
 - 
Maven Repository Cache
# Clean Maven local repository docker run --rm -v $(pwd):/workspace -w /workspace power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean
 - 
Network Issues
# Use proxy settings docker run --rm -v $(pwd):/workspace -w /workspace \ -e HTTP_PROXY=http://proxy:port \ -e HTTPS_PROXY=http://proxy:port \ power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd clean install
 
# Check mvnd version
docker run --rm power4j/mvnd:1.0.2-temurin-17-jdk-jammy mvnd --version
# Check Java version
docker run --rm power4j/mvnd:1.0.2-temurin-17-jdk-jammy java --versionIssues and Pull Requests are welcome!
This project is licensed under the Apache License 2.0.