+ <plugin>
+ <groupId>com.spotify</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <imageName>${docker.image}</imageName>
+ <dockerDirectory>${project.basedir}</dockerDirectory>
+ <!-- <serverId>docker-hub</serverId> -->
+ <imageTags>
+ <imageTag>${artifact.version}</imageTag>
+ <imageTag>latest</imageTag>
+ </imageTags>
+ <forceTags>true</forceTags>
+ <resources>
+ <resource>
+ <targetPath>/</targetPath>
+ <directory>${project.basedir}</directory>
+ <excludes>
+ <exclude>target/**/*</exclude>
+ <exclude>pom.xml</exclude>
+ </excludes>
+ </resource>
+<!-- what is this?
+ <resource>
+ <targetPath>/</targetPath>
+ <directory>${project.build.directory}</directory>
+ <include>**/**</include>
+ </resource>
+ -->
+ </resources>
+ </configuration>
+ <executions>
+ <execution>
+ <id>build-image</id>
+ <phase>package</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ <configuration>
+ <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>tag-image-project-version</id>
+ <phase>package</phase>
+ <goals>
+ <goal>tag</goal>
+ </goals>
+ <configuration>
+ <image>${docker.image}</image>
+ <newName>${docker.push.registry}/${docker.image}:${artifact.version}</newName>
+ <skipDockerTag>${skip.docker.push}</skipDockerTag>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>tag-image-latest</id>
+ <phase>package</phase>
+ <goals>
+ <goal>tag</goal>
+ </goals>
+ <configuration>
+ <image>${docker.image}</image>
+ <newName>${docker.push.registry}/${docker.image}:latest</newName>
+ <skipDockerTag>${skip.docker.push}</skipDockerTag>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>push-image-latest</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ <configuration>
+ <imageName>${docker.push.registry}/${docker.image}:${artifact.version}</imageName>
+ <skipDockerPush>${skip.docker.push}</skipDockerPush>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>push-image</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ <configuration>
+ <imageName>${docker.push.registry}/${docker.image}:latest</imageName>
+ <skipDockerPush>${skip.docker.push}</skipDockerPush>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>