SpringBoot Docker示例
1.准备好Docker.
2.准备SpringBoot项目。结构如下
3.pom文件 增加如下内容:
1 <docker.image.prefix>springio</docker.image.prefix>
2 <!-- tag::plugin[] --> 3 <plugin> 4 <groupId>com.spotify</groupId> 5 <artifactId>dockerfile-maven-plugin</artifactId> 6 <version>1.4.9</version> 7 <configuration> 8 <repository>${docker.image.prefix}/${project.artifactId}</repository> 9 </configuration> 10 </plugin> 11 <!-- end::plugin[] --> 12 13 <!-- tag::unpack[] --> 14 <plugin> 15 <groupId>org.apache.maven.plugins</groupId> 16 <artifactId>maven-dependency-plugin</artifactId> 17 <executions> 18 <execution> 19 <id>unpack</id> 20 <phase>package</phase> 21 <goals> 22 <goal>unpack</goal> 23 </goals> 24 <configuration> 25 <artifactItems> 26 <artifactItem> 27 <groupId>${project.groupId}</groupId> 28 <artifactId>${project.artifactId}</artifactId> 29 <version>${project.version}</version> 30 </artifactItem> 31 </artifactItems> 32 </configuration> 33 </execution> 34 </executions> 35 </plugin> 36 <!-- end::unpack[] -->
../src/main/java/com/docker/dockerdemo/dockerdemo/DockerDemoApplication.java
如下
1 package com.docker.dockerdemo.dockerdemo; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.web.bind.annotation.RequestMapping; 6 import org.springframework.web.bind.annotation.RestController; 7 8 @SpringBootApplication 9 @RestController 10 public class DockerDemoApplication { 11 12 @RequestMapping("/") 13 public String home() { 14 return "Hello Docker World"; 15 } 16 17 public static void main(String[] args) { 18 SpringApplication.run(DockerDemoApplication.class, args); 19 } 20 21 }
application.properties
server.port=8082
根目录创建Dockerfile文件
FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE=target/ COPY ${JAR_FILE}/docker-demo-0.0.1.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
4. 打包
mvn package
java -jar target/docker-demo-0.0.1.jar
访问 http://localhost:8082 看是否正常启动。成功后,开始构建Docker镜像
mvn docker:build
5.查看镜像
6.启动镜像
7. 验证 http://localhost:8082
源码GitHub: https://github.com/Jode1015/docker-demo
参照:https://spring.io/guides/gs/spring-boot-docker/