Docker容器化Spring boot项目
Docker容器化Spring boot项目
1、创建spring boot项目
Idea创建名为simple-api的spring boot程序,依赖web和rest实现一个path为/的controller
2、构建并启动项目(在项目根目录下)
mvn clean package && java -jar target/simple-api-0.0.1-SNAPSHOT.jar
3、检查项目运行
http://localhost:8080
4、创建Dockerfile(在项目根目录下)
FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
5. 增加maven的docker插件
<properties> <java.version>1.8</java.version> <docker.image.prefix>demo</docker.image.prefix> </properties> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.3.6</version> <configuration> <repository>${docker.image.prefix}/${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin>
6、创建docker镜像
mvn install dockerfile:build
7、运行镜像
docker run -p 8080:8080 -t demo/simple-api
8、查看运行结果
http://localhost:8080
注意
如果上面第六步很长时间没反应,那可能是墙的原因,我当时等了10多分钟才构建好。这里有个简便快捷的方法,仅供参考。
docker build --build-arg JAR_FILE=target/simple-api-0.0.1-SNAPSHOT.jar -t simple-api .