= Maven Goals

This plugin supports the following goals which are explained in detail
in the next sections.

.Plugin Goals
[cols="1,3"]
|===
|Goal | Description

|**<<{plugin}:build>>**
|Build images

|**<<{plugin}:start>>** or **<<{plugin}:start,{plugin}:run>>**
|Create and start containers

|**<<{plugin}:stop>>**
|Stop and destroy containers

|**<<{plugin}:push>>**
|Push images to a registry

|**<<{plugin}:watch>>**
|Watch for doing rebuilds and restarts

|**<<{plugin}:remove>>**
|Remove images from local docker host

|**<<{plugin}:logs>>**
|Show container logs

|**<<{plugin}:source>>**
|Attach docker build archive to Maven project

|**<<{plugin}:save>>**
|Save images to a file

|**<<{plugin}:volume-create>>**
|Create a volume for containers to share data

|**<<{plugin}:volume-remove>>**
|Remove a volume
|===

Note that all goals are orthogonal to each other. For example in order
to start a container for your application you typically have to build
its image before. `{plugin}:start` does *not* imply building the image
so you should use it then in combination with `{plugin}:build`.

= Maven Goals

This plugin supports the following goals which are explained in detail
in the next sections.

.Plugin Goals
[cols="1,1,2"]
|===
|Goal | Default Lifecycle Phase | Description

|**<<{plugin}:build>>**
|install
|Build images

|**<<{plugin}:start>>** or **<<{plugin}:start,{plugin}:run>>**
|pre-integration-test
|Create and start containers

|**<<{plugin}:stop>>**
|post-integration-test
|Stop and destroy containers

|**<<{plugin}:push>>**
|deploy
|Push images to a registry

|**<<{plugin}:watch>>**
|
|Watch for doing rebuilds and restarts

|**<<{plugin}:remove>>**
|post-integration-test
|Remove images from local docker host

|**<<{plugin}:logs>>**
|
|Show container logs

|**<<{plugin}:source>>**
|
|Attach docker build archive to Maven project

|**<<{plugin}:save>>**
|
|Save images to a file

|**<<{plugin}:volume-create>>**
|pre-integration-test
|Create a volume for containers to share data

|**<<{plugin}:volume-remove>>**
|post-integration-test
|Remove a volume
|===

Note that all goals are orthogonal to each other. For example in order
to start a container for your application you typically have to build
its image before. `{plugin}:start` does *not* imply building the image
so you should use it then in combination with `{plugin}:build`.

Add default Maven lifecycle bindings to the manual
Add default Maven lifecycle bindings to the manual