打包SpringBoot项目
使用IDEA Maven 插件 打包SpringBoot项目,jar包名称为app.jar(自定义)
<!-- SpringBoot项目打包jar --> <build> <finalName>${project.artifactId}</finalName> <defaultGoal>compile</defaultGoal> <plugins> <!-- 启动类 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.terry.tools.office.App</mainClass> <includeSystemScope>true</includeSystemScope> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions></plugin>
<!-- jdk版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
创建Dockerfile
vim Dockerfile
DockerFile 内容
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER terry
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中
ADD app.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#暴露8080端口
EXPOSE 8080
目录结构:
-
app.jar
-
Dockerfile
打包成镜像
docker build -f Dockerfile -t app:1 .
运行
docker run -p 8080:8080 app:1