-
0.50-SNAPSHOT:
- Create the parent directory of
outputFileand fail with an explicit message when it cannot be written, instead of swallowing the error and failing later with aNullPointerException; also make the progress bar usable without a precedingprogressStart()
- Create the parent directory of
-
0.49.0 (2026-08-09):
- Fix
docker.save.aliases: a non-existent alias in the list was silently ignored instead of failing the save with a clear error - Make container log streaming (
<wait><log>and log following) resilient to transient stream disconnects by reconnecting and resuming instead of aborting, fixing flaky log-wait timeouts (e.g.jnr ... Bad file descriptoron macOS CI) - Honour the
<follow>configuration element (in addition to thedocker.followsystem property) fordocker:start,docker:runanddocker:watch(#1797) - Add opt-in
<buildAllPlatforms>buildx option to build all platforms during docker:build, warming the builder cache so a later docker:push reuses it (#1866) - Normalize empty
<args>build argument values (e.g. from a property that resolves to an empty value) to an empty string instead of failing the build (#1858) - Fall back to the current timestamp instead of crashing the log-follow thread when a container log line has an unparseable timestamp (e.g.
Errorwritten on stderr) (#1428) - Pass externally-resolved build args (
docker.buildArg.*system/Maven properties and otherBuildArgResolversources) to buildxbuildandpush, so buildx honours them like the classic build path instead of only<build><args>(#1901) - Add a
wslc://Docker transport so images can be built against a WSL Containers daemon, which exposes no Windows named pipe or TCP port and is reachable only via a stdio bridge, including auto-detection below the Docker/Podman named pipe (#1928) - Add support for the
--targetparameter in the build phase, for both classic and buildx builds (#1908) - Add
docker.ecr.endpointsystem property so ECR authentication can be pointed at a VPC endpoint instead of the defaultapi.ecr.<region>.amazonaws.comhost (#1872) - Keep the default value for a repeated build argument in multistage builds (#1910)
- Only apply a Docker Compose wait config to a service when its alias matches the image configuration alias (#1902)
- Avoid container name conflicts after an image is rebuilt (#1958)
- Harden ECR authentication: validate the decoded credential split instead of throwing
ArrayIndexOutOfBoundsExceptionon input without a colon, and replace the sharedSimpleDateFormatwith a thread-safeDateTimeFormatter - Use an ephemeral random password for the in-memory Docker TLS
KeyStoreinstead of a hard-coded one - Various Sonar-flagged reliability fixes in the socket, log-streaming and file-handling paths, including closing sockets and readers via try-with-resources and re-interrupting the current thread when catching
InterruptedException - Bump Jnr JFFI to v1.3.15
- Fix
-
0.48.1 (2026-02-07):
- Use wait config if no Docker Compose healthcheck (1771)
-
0.48.0 (2025-11-17):
- Allow saving multiple images in docker:save using new parameters saveNames and saveAliases.
- Fixed compatibility with Docker 29+ which requires minimum API version 1.44
- Fixed IP address parsing to support both legacy and new Docker API schema formats (#1887)
-
0.47.0 (2025-11-01):
- Support for user namespace mode (1881)
- Bump Jib Core to v0.27.3 (1879)
- Bump Jnr UnixSocket to v0.38.23 (1880)
- Drop Plexus DI, switch to plexus-utils, update m-assembly-p and deps, verified with Maven 4 (1851)
dmp:tagshould skip<image>swith no<build>(1871)- buildArchiveOnly with a path still builds the image (1863)
- Add skip tag to the image level by
<skipTag>(1787)
-
0.46.0 (2025-04-06):
- Docker-compose healthcheck configuration support (1825)
- Docker container wait timeout default value made configurable using startContainerWaitTimeout configuration option (1825)
- Respect
networkconfiguration in POM and with propertydocker.build.networkor system propertydocker.network.modein docker buildx 1850) - Fix case sensitivity issue in builder name lookup by converting builderName to lowercase, ensuring compatibility across file systems (1847)
-
0.45.1 (2024-09-29):
-
0.45.0 (2024-07-27):
- Automatically create parent directories of portPropertyFile path (1761)
- Use complete image id in DockerAccessWithHcClient while fetching image id (1764)
- Add skip tag to the image level by
<skipTag>(1787) - Remove usage of
AnsiConsole(1791) - Gracefully handle 404 when removing container (1793)
- Added support for
platformattribute of a container in the docker-compose configuration. - Image Build Config BuildArgs should be passed while pulling images (1756)
docker:pushfailed with buildARGinFROM(1778)- Add the possibility to give secret to buildx build (1798
FROMcan referenceARGthat references otherARG(1800)
-
0.44.0 (2024-02-17):
- Add new option "useDefaultExclusion" for build configuration to handle exclusion of hidden files (1708)
- The option is now propagated down to the buildx command, if it is set in the section. (1717)
- Fix Buildx build with Dockerfile outside of the Docker build context directory (1721)
- Add support setting driverOpts for buildx (1704)
- Multi-Architecture push is not sending pull registry auth credentials (1709)
- Adding support for
--cacheFromand--cacheTobuildX arguments (1621) - Add support for using maven/system properties for an ARG used as the FROM image in a dockerfile (1731)
- Revert workaround for checking docker version for checking whether to add
docker --configflag or not. (1754) - Add a workaround to copy docker-buildx binary to temporary config directory created for docker buildx build. This seems to make docker recognize buildx even after config override. (1754)
- Fix Windows volume bindings for Rancher, Podman and Windows-based containers (1719)
- Extract the Docker Compose v2.1+
depends_onconditions and apply them as Docker Maven Plugin waiting configurations (888) - Update
org.apache.maven:maven-coreto3.8.1(1702)
-
0.43.4 (2023-08-18):
- Always pass
--configoption for latest versions of Docker CLI (1701)
- Always pass
-
0.43.3 (2023-08-13):
- Only add
--configto buildx command string when authentication credentials are coming from outside sources - Remove hardcoded
--nodevalue while creating buildx builder
- Only add
-
0.43.2 (2023-07-29):
- Make
--configfrom buildx command string generation optional (1673) @robfrank
- Make
-
0.43.1 (2023-07-28):
- Resolve registry auth URL by registry ID (1688) @wajda
- Allow 'host-gateway' as non-resolvable hostname in extraHosts (1527) @azaaiman
- Bump guava from
31.1-jreto32.0.1-jre(1686) @dependabot - Bump jib-core from
0.23.0to0.24.0(1686) @rohanKanojia - Fix unauthorized error with buildx needing multiple credentials (1583) @eocantu
- Add logger to HTTP ping checker (1689) @ryanrishi
-
0.43.0 (2023-05-20):
-
0.42.1 (2023-04-06):
-
0.42.0 (2023-02-28):
-
0.41.0 (2023-02-06):
-
0.40.3 (2022-12-18):
- image/squash option is taken into account when using buildx (1605) @kevinleturc
- Allow having build args with same name but different value in various sources, which are overriden in the order of precedence in resulting build args map (1407) @pavelsmolensky
- Use double for
docker.cpusproperty and interpret this value in the same way as Docker config option--cpus(1609) @vjuranek - NPE from Assembly plugin when POM packaging is used (1146) @slawekjaranowski
- Docker pulling progress only shown after pull has completed and not in real-time (1598) @causalnet
- Bump
org.yaml:snakeyamlto v1.32 (1619) @pen4 - Bump
com.google.cloud.tools:jib-coreto v0.23.0 (1620) @pen4 - Bump
com.google.guava:guavato v31.1-jre @rohanKanojia
-
0.40.2 (2022-07-31):
- Plugin doesn't abort building an image in case Podman is used and Dockerfile can't be processed (1562) @jh-cd
- Bump gson from 2.8.5 to 2.8.9 (1556) @dependabot
- Build and load native platform during build goal, build and push all platforms during push goal (1576) @chonton
- Remove buildx cache, don't delete builder instances after goal. Use builder instance to cache artifacts (1579) @chonton
- Multiple assemblies use the name "maven". Please assign each assembly a unique name (1558) @tbfky
- Use
https://index.docker.io/v1/as default buildx server registry (1574) @chonton - When using buildx, do not force build of native platform (1572) @chonton
-
0.40.1 (2022-06-11):
-
0.40.0 (2022-05-29):
docker:stopshould respect docker.skip even whendocker.executeStopOnVMShutdownis set totrue(1561) @doyleyoung- Prevent concurrent access to secDispatcher during password decryption (1533) @joserebelo
- Support for
docker run --sysctlparameters (1530) @jpraet - Migrate to JUnit5 and Mockito for testing (1550) @chonton
- Multi-architecture images using buildx (1502) @chonton
- Add missing dash to buildx
--build-arg(1559) @elektro-wolle
-
0.39.1 (2022-02-27):
- determineFinalArgValue respect default value if key exists but value is null (1528) @twendelmuth
-
0.39.0 (2022-02-06):
skipPomis ignored by "push" goal (1482) @rohanKanojia- Cleanup dangling images as a result of image tagging, auto-pulling a base image, or auto-pulling a cacheFrom image (#1513) @rkhmelichek
- Fix logic bug to remove dangling images in BuildService (1522) @rkhmelichek
- Enable Create Image (pull) HTTP API option (#1516) @rohanKanojia
-
0.38.1 (2021-12-18):
- Update to jnr-unixsocket 0.38.14 to solve UnsatisfiedLinkError on Apple M1 (#1257) @henningn
- Revert "Only push the
latesttag if no other tags where specified in jib mode. This can break your build, if you rely on the automaticlatesttag." (#1510) @Postremus - Revert "Only push the
latesttag if no other tags where specified in docker mode. This can break your build, if you rely on the automaticlatesttag." (#1509) @Postremus
-
0.38.0 (2021-11-09):
- Allow replacement in tags. Added a new replacement
%Twhich always adds a timestamp. (#1491) - Only push the
latesttag if no other tags where specified in docker mode. This can break your build, if you rely on the automaticlatesttag. (#1496) - Only push the
latesttag if no other tags where specified in jib mode. This can break your build, if you rely on the automaticlatesttag. (#1498) - Deprecate
entrypointparameter in<run>configuration (1488) - Add support for
executeStopOnVMShutdownflag indocker:stopgoal to stop containers after build completion (1492)
- Allow replacement in tags. Added a new replacement
Note: entrypoint parameter in <run> configuration is marked as deprecated. Users are advised to use entryPoint parameter instead.
-
0.37.0 (2021-08-15)
- Fix stop mojo by taking container name pattern into account (#1168)
- Wait for request.abort to finish before calling
is.close()(#1103)
-
0.36.1 (2021-06-27)
-
0.36.0 (2021-05-23)
- CI builds with Maven Wrapper to ensure that Maven Wrapper files and configuration are correct (1450)
- Using properties in image configuration disables Docker cache during build (1455)
- Update documentation to clearly state that
docker.cacheFrom.idxis a list property and should always be used with aidxsuffix. With this change,docker.cacheFrom(without idx) is not considered anymore. - A placeholder in docker.image.tag isn't replaced by the final result when used during docker:build (1468)
- Add a property(
outputFile) to dump the output of Docker commands to file ([1472]#1472) - Add pulling of
cacheFromimages during build (1457) - Update Guava to 30.1-jre and Jib-Core to 0.18.0 (1475)
-
0.35.0 (2021-04-04)
- Building 'spring-boot-with-jib' sample fails with NoSuchMethodError (1384)
- Loading Image tarball into docker daemon fails in JIB mode (1385)
assembly.inlineis removed when external properties are enabled (1082)- Fix Support for Podman REST API(when configured) Related to (1330)
- Fix ignored
SHELLdirective when provided in XML configuration (#1418) - Restore support for getting a random container name (1352)
- Provide exception messages that occurred during stop (1435)
- Make Maven build Reproducible (1406)
- Fix Windows tests (1416)
- Add a skipPom parameter, skipping a project if packaging is pom (1388)
- Add support for config to specify isolation technology for container (1376)
- Add Docker build cache friendly example utilizing Spring Boot Layered JAR and Maven Assembly Plugin (1412)
- Retry port mapping to avoid race condition where complete port information may not be initially available in Docker Engine 20.10.5 (1447)
- New
copygoal for copying files and directories from containers to host (752 and 1405) - Add support for multiple copy layers using multiple assemblies (554)
- Prefer HOME environment variable over the Java system property to determine the user's home directory to better resemble the golang client's behavior (#1236
- Volume binding bug in windows (1338)
-
0.34.1 (2020-09-27)
-
0.34.0 (2020-09-13)
- Support
ARGinFROM(#859) - Handle authentication tokens returned from credential helpers (#1348)
- Migrate from joda-time to java.time (#1025) The handling of Y changes when the week straddle the New year (Stack Overflow)
- Fix JSON error when parsin tafs (#1354)
- Add
skipPushoption to build image configuration (#1243) - docker.container..ip property is no longer set (#1242)
- Support
squashin build options to squash newly built layers into a single layer (#785) - Support for JIB mode(#1277)
- Support
-
0.33.0 (2020-01-21)
-
0.32.0 (2020-01-08)
- Support building dockerFile without pushing it to docker server (#1197)
- Update to jnr-unixsocket 0.23
- Add null check for null instance in config.json for email (#1262)
- Allow merging of image configurations using
<imagesMap>(#1259) - Update to joda-time 2.10.4 (#706)
- Add docker:build support for 'network' option (#1030)
- Avoiding chown to reduce the image size (#544)
(Note: Assembly user format
user:user:userwith the third user option has been marked deprecated and will not be available in future versions of plugin) - Failure referencing a previous staged image in FROM clause (#1264)
- Treat bridged and default network mode the same (#1234)
- Fix NPE when cacheFrom is missing from config (#1274)
- Fix healthy option regression introduced in 0.25.0 (#1279)
- Allow killing and removing all spawned containers (#1182)
- Deprecated "authToken" for ECR authentication in favor of "auth" (#1286)
- Allow overriding of existing image in creation of temporary one with same tag before push (#838)
- Pick up AWS credentials from ENV variables (#1310)
- Fix accidentally disabled logging under certain conditions (#1291)
- When stopping containers, try harder to remove containers, even if one fails (#1251)
- Added integration tests (#1209)
-
0.31.0 (2019-08-10)
- Fix test cases on Windows (#1220)
- ECR credentials from IAM Task role for ECS Fargate deployment (#1233)
- Fix bug in properties names extracted from docker config json file (#1237)
- Fix that portPropertyFile is not written anymore (#1112)
- Use identity token if found in Docker config.json (#1249)
- Allow also starting with an environment variable in
targetDirof an aseembly config instead of insisting on only absolute path-names (#1244) - Support for pattern matching in
docker:stopanddocker:remove(#1215) - Increase interoperability with docker-java by accepting
registry.usernameandregistry.password, too (#1245)
-
0.30.0 (2019-04-21)
- Restore ANSI color to Maven logging if disabled during plugin execution and enable color for Windows with Maven 3.5.0 or later. Color logging is enabled by default, but disabled if the Maven CLI disables color (e.g. in batch mode) (#1108)
- Fix NPE if docker:save is called with -Dfile=file-name-only.tar (#1203)
- Fix NPE in BuildImageConfiguration (#1200)
- Improve GZIP compression performance for docker:save (#1205)
- Allow docker:save to attach image archive as a project artifact (#1210)
- Use pattern to detect image name in archive loaded during build and tag with image name from the project configuration (#1207)
- Add 'cacheFrom' option to specify images to use as cache sources (#1132)
Renamed "nocache" to "noCache" for consistencies reason. "nocache" is still supported but deprecated and will be removed in a future version. Same is true for the global system property "docker.nocache" which is renamed to "docker.noCache"
- 0.29.0 (2019-04-08)
- Avoid failing docker:save when no images with build configuration are present (#1185)
- Reintroduce minimal API-VERSION parameter in order to support docker versions below apiVersion 1.25
- docs: Correct default image naming
- Proxy settings are being ignored (#1148)
- close api version http connection (#1152)
- Log more information when verbose=true (#917)
- Obtain container ip address from custom network for tcp/http wait
- Fix http (SSL) ping with 'allowAllHosts' flag enabled
- Update to jnr-unixsocket 0.22
- Enhance @sha256 digest for tags in FROM (image_name:image_tag@sha256) (#541)
- Support docker SHELL setting for runCmds (#1157)
- Added 'autoRemove' option for running containers (#1179)
- Added support for AWS EC2 instance roles when pushing to AWS ECR (#1186)
- Introduce
contextDirconfiguration option which would be used to specify docker build context (#1189) - Add support for auto-pulling multiple base image for multi stage builds (#1057)
- Fix usage of credential helper that do not support 'version' command (#1159)
Please note that dockerFileDir is now deprecated in favor of contextDir which also allows absolute paths to Dockerfile with
dockerFile and it will be removed in 1.0.0. It's still supported in this release but users are suggested to migrate to
contextDir instead.
-
0.28.0 (2018-12-13)
-
0.27.2 (2018-10-05)
- Fix NPE regression related to volumes (again) (#1091)
- Fix NPE when stopping containers with autoCreateCustomNetworks (#1097)
- Smarter API version handling (#1060)
- Fix regression when calling the credential helper for authentication, leading to an exception because of the usage of an already shutdown executor service (#1098)
- Add support for CPU configurations with compose (#1102)
-
0.27.1 (2018-09-28)
-
0.27.0 (2018-09-26)
- Jump to Java 8 as minimal Java version
- Fix NPE in docker:remove-volumes when no volume configuration is given (#1086)
- Fix NPE when no networks are configured (#1055)
- Fix Base64 encoding for X-Registry-Auth used for Docker authentication (#1084)
- Fix property configuration based's build detection (#1078)
- Introduce container name patterns for naming containers (#931)
- Respect environment variables DOCKER_CONFIG, KUBECONFIG for looking up credentials (#1083)
- Change from org.json with Gson for less restrictive licensing (#1016) (#1064)
- Fix missing actions in a watch restart (#1070)
- Fix for creating volumes with proper configuration during "docker:start" (#986)
- Fix logging failure on Windows (#873)
-
0.26.1 (2018-07-20)
- Simple Dockerfile triggered also when only a single run section is given
- Sample added for how to use run-java-sh in simple dockerfile mode
- Allow both cred helpers and auth in Docker config (#1041)
-
0.26.0 (2018-05-16)
- Always create missing target directory for docker:save (#1013)
- d-m-p plugins for adding extra files introduced. See documentation for more information.
- Update assembly plugin to 3.1.0 (#1021)
- Add option for regenerating certificates after starting Docker Machine (#1019)
- Add
startPeriodtohealthCheck(#961) - Unbreak setting of entrypoint in
execform when property mode is enabled (#1020) - Fix enabling of log configuration (#1010)
- Add possibility to use
docker.imagePropertyConfigurationwith multiple images (#1001) - Fix network aliases management for docker-compose mode (#1000)
-
0.25.2 (2018-04-14)
- Fix for docker login issue with index.docker.io using a credential helper (#946)
-
0.25.1 (2018-04-12)
- Fix regression which broke labels and env with space (#988)
- Fix and enhanced zero-config Dockerfile mode
-
0.25.0 (2018-04-04)
- Fix possible NPE when logging to a file and the parent directory does not exist yet (#911) (#940)
- Change content type to "application/json" when talking to the Docker daemon (#945)
- PostStart exec breakOnError now fails fast (#970)
- Use docker.skip.tag property on push and remove (#954) (#869)
- Property placeholders are not interpolated when they are the only thing in the XML element value (#960)
- Fix deadlock waiting on docker log pattern to match (#767) (#981) (#947)
- Support multiline labels and empty labels (#968)
- Handle multi line credential helper responses (#930)
- Add support for merging external properties with XML configuration (#938) (#948)
- Allow to specify different environment variables for run and build via properties (#386)
- Add simplified configuration which picks up a plain Dockerfile automatically from
src/main/docker(#957)
-
0.24.0 (2018-02-07)
- Respect system properties for ECR authentication (#897)
- Simplified auto pull handling and moved to
imagePullPolicyinstead. - Initialize shutdown hook early to allow killing of containers when waiting for a condition (#921)
- Fix for including in assembly in archive mode when using a Dockerfile (#916)
- Fix for hanging wait on log (#904)
- Fix for credential helper which do not return a version (#896)
- Also remove tagged images when calling
docker:remove(#193) - Introduced a
removeModefor selecting the images to remove - Introduced a
breakOnErrorfor thepostStartandpreStophooks in the wait configuration (#914)
Please note that autoPullMode is deprecated now and the behaviour of the autoPullMode == always has been changed slightly so that now, it really always pulls the image from the registry. Also removeAll for docker:remove is deprecated in favor of removeMode (and the default mode has changed slightly). Please refer to the documentation for more information.
-
0.23.0 (2017-11-04)
- Support relative paths when binding volumes in
docker-compose.yml(#846) - Allow the session token for AWS authentication to be included in order to allow temporary security credentials provided by the AWS Security Token Service (AWS STS) to sign requests (#883)
- Add support for credential helper to authenticate against a registry (#821)
- Fix registry auth config in plugin configuration (#858)
- Preserve leading whitespace in logs (#875)
- Maven property interpolation in Dockerfiles (#877)
- Allow parameters for the log prefix (#890)
- When removing a volume don't error if the volume does not exist (#788)
- Fix warning when COPY and/or ADD with parameters are used (#884)
- Support relative paths when binding volumes in
-
0.22.1 (2017-08-28)
-
0.22.0 (2017-08-24)
- Fix NPE when detecting cert paths (#764)
- Fix
skipDockerMachine(#759) - Fix property config handler to work also with dockerFile and dockerFileDir (#790)
- Fix
dockerFileoption when pointing to another Dockerfile name (#784) - Allow comma separated list of container names in dependsOn elements (#810)
- Trim whitespace and ignore empty elements in build configuration ports, runCmds, tags, volumes (#816)
- Trim whitespace and ignore empty elements in run configuration ports (#816)
- Fix "useAllReactorProjects" in assembly (#812)
- Add ECDSA support (#824)
- Fix test failures when build under Windows (#834)
- Update dependencies to latest versions where possible
-
0.21.0 (2017-05-16)
Please note that now filtering in an external Dockerfiles is switched on by default. This might interfere with Docker build args, so should switch filtering off with <filter>false</filter> in the <build> configuration if you have issues with this. See also the Documentation about Filtering for more Details.
-
0.20.1 (2017-03-29)
- Tune log output for image names (#737)
- Allow image with multiple path segments (#694)
- Add support for PKCS#8 private keys in pem.key file. (#730)
- Improve resource management for certificates and keys. (#730)
- When using properties for configuration only build when
fromorfromExtis set (#736) - Add new mojo "docker:save" for saving the image to a file (#687)
- Check whether a temporary tag could be removed and throw an error if not (#725)
- Allow multi line matches in log output (#628)
- Add a wait condition on a healthcheck when starting up containers (#719)
- Don't use authentication from config when no "auth" is set (#731)
-
0.20.0 (2017-02-17)
- Removed
build-noforkandsource-noforkin favor for a more direct solution which prevents forking of the lifecycle. Please refer the documentation, chapter "Assembly" for more information about this.
- Removed
The experimental goals build-nofork and source-nofork have been removed again. Please use build and source directly when binding to execution phases.
-
0.19.1 (2017-02-09)
-
0.19.0 (2017-01-03)
- Better log message when waiting for URL (#640)
- Extended authentication for AWS ECR (#663)
- Add two new goals: "volume-create" and "volume-remove" for volume handling independent of images.
- Support for loading from an tar archive (option
<build><dockerArchive>) (#645) - Support when both
dockerFileDiranddockerFileare set anddockerFileis a relative path (#624) - Fix concurrency issue when writing into log files (#652)
- Support any Docker build options (#666)
-
0.18.1 (2016-11-17)
- Renamed
basedirandexportBasedirin an<assembly>configuration totargetDirandexportTargetDirsince this better reflects the purpose, i.e. the target in the Docker image to which the assembly is copied. The old name is still recognized but deprecated. - Fix issue with log statements which use a single argument form
- Fix bug in HTTP wait configuration when using an external property handler (#613)
- Fix NPE for "docker:log" when the container to log has already been stopped (#612)
- Allow a protocol (tcp/udp) for the specification of a port (#610)
- Renamed
The following variables in the assembly configuration has been renamed for consistencies sake:
basedir-->targetDirexportBasedir-->exportTargetDir
The old variable names are still accepted but will be removed for release 1.0
-
0.17.2 (2016-11-3)
- Fix issues with an empty Docker config file
-
0.17.1 (2016-10-28)
- Add initial Docker compose support (#384)
- Made
docker:runrunning in the foreground - Add lifecycle fork to package for
docker:buildanddocker:sourcefor ease of use. Introduceddocker:build-noforkanddocker:source-nofork - Removed lifecycle forks for all other Mojos (#567) (#599)
- Add new option
tarLongFileModefor the assembly configuration to avoid warning for too long files (#591) - Add new option
tmpfsfor<run>to add mount pathes for temorary file systems (#455) - Changed
docker.imagetodocker.filterand<image>to<filter>.
For 0.17 the lifecycle handling of the plugins has changed slightly. All forks to the initialize phase have been removed since they collide with certain setups. Instead a fork to the package phase has been introduced for docker:build and docker:source to make it easier for them to be consumed on the commandline (because otherwise at least package has to be added as goal so that the assembly could be constructed from the artifacts built). If you have these goals bound to an <execution> please use build-nofork and source-nofork instead, otherwise the package phase will be called twice.
Also the treatment of the Maven property docker.image has changed. This was supposed to be used as a filter which caused a lot of confusion if people accidentally put their Docker image names into this property. Now the property has no special meaning anymore, and you can use docker.filter now for filtering out a specific images to build. For the same reason the top-level configuration element <image> has been renamed to <filter>.
-
0.16.9 (2016-10-23)
- Removed (undocumented) property
docker.image.namewhich could be used to be inserted as a%aspecifier part in an image name. - Fixed exposing of all property and port mappings (#583)
- Fix concurrency issue on log wait (#596)
- Add Dockerfile HEALTHCHECK support (#594)
- Fix writing empty property files (#592)
- Removed (undocumented) property
-
0.16.8 (2016-10-14)
-
0.16.7 (2016-10-07)
- Even better logging
-
0.16.6 (2016-10-07)
- Fix concurrency issues when doing a watch on logs (#574)
- Break push with dedicated registry if temporary image tag already exists (#575)
- Reduce log output for the non color case when pulling images (#568)
- Add possibility to change colors in log messages
- Don't print a progressbar when in batch mode (mvn -B) (#564)
- Add
exposedPropertykey to change the alias part of the exposed container properties (#557)
-
0.16.5 (2016-09-27)
- Refactored Docker connection parameter detection
- Added a for extended definition of base images (#572)
-
0.16.4 (2016-09-26)
-
0.16.3 (2016-09-22)
- Add 'allowAllHosts' to ping wait checker (#559)
- Allow 'stopAllContainers' also as Maven properties (#536)
- Use alias for stopping containers when naming strategy "alias" is used (#536)
- New option 'startParallel' for docker:start to speedup execution (#531)
- Tuned detection of docker host connection parameters to be more extensible
-
0.16.2 (2016-09-15)
-
0.15.16 (2016-08-03)
-
0.15.14 (2016-07-29)
- Pattern match fix for multiline log output. Related to (#259)
-
0.15.13 (2016-07-29)
-
0.15.12 (2016-07-25)
- API and documentation updates
-
0.15.11 (2016-07-20)
-
0.15.10 (2016-07-19)
-
0.15.9 (2016-06-28)
- Fixed issue when target directory does not exist yet (#497)
-
0.15.8 (2016-06-27)
- Removed image configuration caching (#495)
- Fix for tcp wait when used with Docker for Mac (#430)
- Add warning when assembly is empty when watching a Docker image (#490)
- Add
docker.skip.build,docker.skip.run,docker.skip.pushproperties and renameddocker.skipTagstodocker.skip.tag(#483) - Reverted jansi back to version 1.11 because of this issue
- Add new assembly config options
permissionsfor fine tuning permissions in the docker.tar (#477). DeprecatedignorePermissionsin favor of a<permissions>ignore</permissions> - Add auto creation of custom networks if the option
autoCreateCustomNetworkis set (#482) - Support for docker machine added (#481)
-
0.15.7 (2016-06-09)
-
0.15.4 (2016-06-03)
-
0.15.3 (2016-05-27)
-
0.15.2 (2016-05-19)
- More robust response stream parsing (#436)
- Add
docker.dockerFileDiranddocker.dockerFileto the properties configuration provider. (#438) - Fix splitting of bind volumes for Windows pathes (#443)
- Add new build config option
userfor switching the user at the end of the Dockerfile.docker.usercan be used for the properties configuration provider (#441) - Include dot dirs when creating the build tar (#446)
- Fix property handler with wait config but empty tcp wait connection (#451)
-
0.15.1 (2016-05-03)
-
0.15.0 (2016-04-27)
- Be more conservative when no "warnings" are returned on create (#407)
- Fix parsing of timestamps with numeric timezone (#410)
- Validate image names to fit Docker conventions (#423) (#419)
- Add support for builds args in external Dockerfiles (#334)
- Move
dockerFileDirto topLevel<build>and introduceddockerFiledirectivebuild>assembly>dockerFileDiris now deprecated and will be removed. - Add new packaging "docker" (build + run), "docker-build" (build only) and "docker-tar" (creating source) (#433)
- Add
docker:runas an alias todocker:start - Expose certain container properties also as Maven properties. By default
the format is
docker.container.<alias>.ipfor the internal IP address of container with alias<alias>. (#198)
-
0.14.2
- Introduce a mode
tryfor<cleanup>so that an image gets removed if not being still used. This is the default now, which should be close enough totrue(except that it won't fail the build when the image couldn't be removed) (#401)
- Introduce a mode
-
0.14.1
- First (test) release performed with a fabric8 CD pipeline. No new features.
-
0.14.0
- Add support for Docker network and
host,bridgeandcontainernetwork modes (#335) - Add support for older Maven versions, minimum required version is now 3.0.5 (#290)
- Update to maven-assembly-plugin 2.6 which fixes issue with line endings on windows (#127)
- Disabled color output on Windows because ANSI emulation can't be enabled in Maven's sl4j logger which caches system out/err
- Moved to fabric8io as GitHub organization which implies also changes in the maven coordinates (Maven group-id is now io.fabric8)
- Fix wait section in samples (#385)
- Add logging configuration to property handler
- Add support for a logging driver (#379)
- Add support for Docker network and
With version 0.14.0 this plugin moved to the fabric8 community in order to provide
even better services. This include a change in the Maven coordinates. I.e. the Maven group id is now io.fabric8
(formerly: "org.jolokia"). Please adapt your pom files accordingly.
-
0.13.9
-
0.13.8
- Add option
nocacheto build configuration (#348) - Add system property
docker.nocacheto disable build caching globally (#349) - Add support for '.maven-dockerignore' for excluding certain files in plain Dockerfile build (#362)
- If naming strategy is "alias" stop only the container with the given alias with
docker:stop(#359) - Fix that containers without d-m-p label where still stopped
- Add support for OpenShift login (use
-DuseOpenShiftAuthfor enabling this) (#350) - Add support for dedicated pull and push registry configuration respectively (#351)
- Add option
-
0.13.7
- Fix default for "cleanup" in build configuration to
true(as documented) (#338) - Fix dynamic host property update in port mapping (#323)
- New goal 'docker:source' for attaching a Docker tar archive to the Maven project with an classifier "docker-" (#311)
- Be more careful with chowning the user when is used in an assembly (#336)
- Move VOLUME to the end of the Dockerfile to allow initialization via RUN commands (#341)
- Allow multiple configurations with different Docker hosts again (#320)
docker:startblocks now only when system property docker.follow is given (#249)docker:stoponly stops containers started by this plugin by default (#87)- Lookup
~/.docker/config.jsonfor registry credentials as fallback (#147)
- Fix default for "cleanup" in build configuration to
-
0.13.6
-
0.13.5
- Improvements for
docker:watch(#288) - Add parameter
killto<watch>configuration for waiting before sending SIGKILL when stopping containers (#293) - Add
filefor<log>to store the logout put in a file. Usedocker.logStdoutto show logs nevertheless to stdout (#287) - Support
watchMode == copyfor copying changed assembly files into a running container (#268) - Add a
target/classpathfile to the assembly asclasspathforartifact-with-dependenciespredefined assembly descriptor (#283) - Disable Apache HTTP Client retry in WaitUtil (#297)
- Improvements for
-
0.13.4
- Support explicit exec arguments for
start.cmdandstart.entrypoint. (#253) - Fix processing of split chunked JSON responses (#259)
- Fix for default registry handling. Again and again. (#261)
- Allow
runCmdsto be compressed into a single command with the build config optionoptimise. (#263) - Proper error message when default timeout is hit while waiting (#274)
- Add proper error message when docker host URL is malformed (#277)
- If no wait condition is given in wait continue immediately (#276)
- Add logic to specify exec commands during postStart and preStop (#272)
- Fixed docker:watch bug when watching on plain files
- Support explicit exec arguments for
-
0.13.3
- Allow dangling images to be cleaned up after build (#20)
- Adapt order of WORKDIR and RUN when building images (#222)
- Allow 'build' and/or 'run' configuration to be skipped (#207)
- Refactored to use 'inspect' instead of 'list' for checking the existence of an image (#230)
- Refactored ApacheHttpClientDelegate to avoid leaking connections (#232)
- Allow empty
buildorassemblyelements (#214) (#236) - Add new configuration parameter 'maxConnections' to allow to specify the number of parallel connections to the Docker Host. Default: 100 (#254)
- Allow multiple containers of the same image to be linked (#182)
- HTTP method and status code can be specified when waiting on an HTTP URL (#258)
- Introduced global
portPropertyFilesetting (#90) - Allow the container's host ip to be bound to a maven property and exported
-
0.13.2
-
0.13.1
Note that the default registry has been changed to docker.io as
docker hub doesn't use registry.hub.docker.com as the default
registry and refused to authenticate against this registry. For
backward compatibility reasons registry.hub.docker.com,
index.docker.io and docker.io can be used as a server id in
~/.m2/settings.xml for the default credentials for pushing without
registry to Docker hub.
- 0.13.0
- Add
docker:watch(#187) - Allow
extraHostsIPs to be resolved at runtime (#196) - Add
workDiras configuration option to<build>(#204) - Fix problem with log output and wait (#200)
- Don't verify SSL server certificates if
DOCKER_TLS_VERIFYis not set (#192) - For bind path on Windows machines (#188)
- No 'from' required when using a Dockerfile (#201)
- Support for LABEL for build and run.
- Add
Note that since version 0.13.0 this plugin requires Docker API version v1.17 or later in order to support labels.
The watch feature has changed: Instead of using paramters like
docker.watch or docker.watch.interval for docker:start a
dedicated docker:watch has been introduced. Also the
<run><watch>...</watch></run> configuration has been moved one level
up so that <watch> and <run> are on the same level. Please refer
to the manual for an in depth
explanation of the much enhanced watch functionality.
- 0.12.0
Please note that for consistencies sake <command> has been renamed
to <cmd> which contains inner elements to match better the
equivalent Dockerfile argument. The update should be trivial and easy
to spot since a build will croak immediately.
The old format
<build>
<command>java -jar /server.jar</command>
</build>becomes now
<build>
<cmd>
<exec>
<arg>java</arg>
<arg>-jar</arg>
<arg>/server.jar</arg>
</exec>
</cmd>
</build>or
<build>
<cmd>
<shell>java -jar /server.jar</shell>
</cmd>
</build>depending on whether you prefer the exec or shell form.
-
0.11.5
- Fix problem with http:// URLs when a CERT path is set
- Fix warnings when parsing a pull response
- Add a new parameter 'docker.follow' which makes a
docker:startblocking until the CTRL-C is pressed (#176) - Add a
userparameter to the assembly configuration so that the added files are created for this user - Fix problem when creating intermediate archive for collecting
assembly files introduced with #139. The container can be now set
with "mode" in the assembly configuration with the possible values
dir,tar,tgzandzip(#171) - Workaround Docker problem when using an implicit registry
index.docker.iowhen no registry is explicitly given. - Fixed references to docker hub in documentation (#169)
- Fixed registry authentication lookup (#146)
-
0.11.4
- Fixed documentation for available properties
- Changed property
docker.assembly.exportBasetodocker.assembly.exportBaseDir(#164) - Changed default behaviour of
exportBaseDir(true if no base image used withfrom, false otherwise) - Fix log messages getting cut off in the build (#163)
- Allow system properties to overwrite dynamic port mapping (#161)
- Fix for empty authentication when pushing to registries (#102)
- Added watch mode for images with
-Ddocker.watch(#141) - Added support for inline assemblies (#157, #158)
- Add support for variable substitution is environment declarations (#137)
- Use Tar archive as intermediate container when creating image (#139)
- Better error handling for Docker errors wrapped in JSON response only (#167)
-
0.11.3
- Add support for removeVolumes in
docker:stopconfiguration (#120) - Add support for setting a custom maintainer in images (#117)
- Allow containers to be named using
<namingStrategy>alias</namingStrategy>when started (#48) - Add new global property 'docker.verbose' for switching verbose image build output (#36)
- Add support for environment variables specified in a property file (#128)
- Documentation improvements (#107, #121)
- Allow to use a dockerFileDir without any assembly
- Add support for removeVolumes in
-
0.11.2
- Fix maven parse error when specifying restart policy (#99)
- Allow host names to be used in port bindings (#101)
- Add support for tagging at build and push time (#104)
- Use correct output dir during multi-project builds (#97)
descriptoranddescriptorRefin the assembly configuration are now optional (#66)- Fix NPE when filtering enabled during assembly creation (#82)
- Allow
${project.build.finalName}to be overridden when using a pre-packaged assembly descriptor for artifacts (#111)
-
0.11.1
-
0.11.0
- Add support for binding/exporting containers during startup (#55)
- Provide better control of the build assembly configuration. In
addition, the plugin will now search for assembly descriptors in
src/main/docker. This default can be overridden via the global configuration optionsourceDirectory. - An external
Dockerfilecan now be specified to build an image. - When "creating" containers they get now all host configuration instead of during "start". This is the default behaviour since v1.15 while the older variant where the host configuration is fed into the "start" call is deprecated and will go away.
- Allow selecting the API version with the configuration "apiVersion". Default and minimum API version is now "v1.15"
- A registry can be specified as system property
docker.registryor environment variableDOCKER_REGISTRY(#26) - Add new wait parameter
shutdownwhich allows to specify the amount of time to wait between stopping a container and removing it (#54)
Please note, that the syntax for binding volumes from another container has changed slightly in 0.10.6. See "Volume binding" for details but in short:
<run>
<volumes>
<from>data</from>
<from>fabric8/demo</from>
</volumes>
....
</run>becomes
<run>
<volumes>
<from>
<image>data</image>
<image>fabric8/demo</image>
</from>
</volumes>
....
</run>The syntax for specifying the build assembly configuration has also changed. See "[Build Assembly] (manual.md#build-assembly)" for details but in short:
<build>
...
<exportDir>/export</exportDir>
<assemblyDescriptor>src/main/docker/assembly.xml</assemblyDescriptor>
</build>becomes
<build>
...
<assembly>
<basedir>/export</basedir>
<descriptor>assembly.xml</descriptor>
</assembly>
</build>-
0.10.5
- Add hooks for external configurations
- Add property based configuration for images (#42)
- Add new goal
docker:logsfor showing logs of configured containers (#49) - Support for showing logs during
docker:start(#8) - Use
COPYinstead ofADDwhen putting a Maven assembly into the container (#53) - If
exportDiris/then do not actually export (since it doesn't make much sense) (see #62)
-
0.10.4
-
0.10.3
- Added "remove" goal for cleaning up images
- Allow "stop" also as standalone goal for stopping all managed builds
-
0.10.2
- Support for SSL Authentication with Docker 1.3. Plugin will
respect
DOCKER_CERT_PATHwith fallback to~/.docker/. The plugin configurationcertPathcan be used, too and has the highest priority. - Getting rid of UniRest, using Apache HttpComponents exclusively for contacting the Docker host.
- Support for linking of containers (see the configuration in the shootout-docker-maven POM) Images can be specified in any order, the plugin takes care of the right startup order when running containers.
- Support for waiting on a container's log output before continuing
- Support for SSL Authentication with Docker 1.3. Plugin will
respect
Original configuration syntax (as described in the old README)
-
0.9.12
- Fixed push issue when using a private registry (#40)
-
0.9.11
- Support for SSL Authentication with Docker 1.3. Plugin will
respect
DOCKER_CERT_PATHwith fallback to~/.docker/. The plugin configurationcertPathcan be used, too and has the highest priority.
- Support for SSL Authentication with Docker 1.3. Plugin will
respect