上一篇博客“最简单的spring boot打包docker镜像 ”讲到spring boot项目打包成docker镜像,然而那个方法尽管能打包成docker镜像,实际上我并没能用那个方法成功运行打包到docker的jar包。
今天正好在“开源中国”社区看到另一种方法,试了一下,运行很顺利,而且没有那么麻烦,这里记录一下。
首先,spring boot里的pom.xml文件不需要改动,也就是说不需要在maven里特意添加docker配置,像平常一样对spring boot项目用
mvn clean install package
命令进行打包成jar包就行了。
接下来重点在于Dockerfile文件的配置,这个才是决定jar包能否顺利打包成docker镜像的关键,详细步骤如下:
1、编写Dockerfile文件,就和之前说的一样,新建一个txt文件,编辑完之后将后缀去掉。当然你也可以直接用notepad来编辑。Dockerfile内容具体如下:
# java 是一个已有的包含 jdk 的镜像
From java:8
# 作者签名
MAINTAINER yangjian
# 简化 jar 的名字路径 (#:表示注释掉)
COPY yang-0.0.1.jar /yang.jar
# 执行 java -jar 命令 (CMD:在启动容器时才执行此行。RUN:构建镜像时就执行此行)
CMD java -jar /yang.jar
# 设置对外端口为 8090
EXPOSE 8090
2、将Dockerfile文件放在和jar包同一目录下(你的项目的target目录下)ÿ