Browse Source

add docker configurations

sunyj 7 years ago
parent
commit
eb5f040f42
2 changed files with 63 additions and 0 deletions
  1. 57 0
      pom.xml
  2. 6 0
      src/main/docker/Dockerfile

+ 57 - 0
pom.xml

@@ -9,6 +9,14 @@
     <artifactId>ps-message</artifactId>
     <packaging>jar</packaging>
 
+    <properties>
+        <docker.plugin.version>0.4.13</docker.plugin.version>
+        <!-- <docker.host>http://10.10.100.200:5555</docker.host> -->
+        <docker.registry>10.10.100.200:5000</docker.registry>
+        <docker.directory>${project.build.directory}/generated-docker</docker.directory>
+        <docker.pushImage>false</docker.pushImage>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
@@ -84,6 +92,24 @@
     </dependencies>
 
     <build>
+        <resources>
+            <!-- 必须包含这个 -->
+            <resource>
+                <directory>${project.basedir}/src/main/resources</directory>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+            <!-- 替换Dockerfile占位符 -->
+            <resource>
+                <directory>${project.basedir}/src/main/docker</directory>
+                <filtering>true</filtering>
+                <includes>
+                    <include>**/Dockerfile</include>
+                </includes>
+                <targetPath>${docker.directory}</targetPath>
+            </resource>
+        </resources>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
@@ -96,6 +122,37 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>${docker.plugin.version}</version>
+                <executions>
+                    <execution>
+                        <id>build-image</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <registryUrl>${docker.registry}</registryUrl>
+                    <!-- <dockerHost>${docker.host}</dockerHost>
+                    <baseImage>${docker.registry}/java</baseImage>
+                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
+                     -->
+                    <dockerDirectory>${docker.directory}</dockerDirectory>
+                    <imageName>${docker.registry}/${project.artifactId}</imageName>
+                    <pushImage>${docker.pushImage}</pushImage>
+                    <resources>
+                        <resource>
+                            <targetPath>/</targetPath>
+                            <directory>${project.build.directory}</directory>
+                            <include>${project.build.finalName}.jar</include>
+                        </resource>
+                    </resources>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>

+ 6 - 0
src/main/docker/Dockerfile

@@ -0,0 +1,6 @@
+FROM @docker.registry@/java
+VOLUME /tmp
+ADD @project.build.finalName@.jar app.jar
+RUN bash -c 'touch /app.jar'
+EXPOSE 28001
+ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]