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 .
经验分享 程序员 微信小程序 职场和发展