springboot单模块项目构建docker镜像教程,已经踩过了坑的
前言:开始百度了很多篇,springboot docker化的文章,这里一点问题,那里一点问题,一次打开七八个窗口调,才给弄出来。
这篇博客讲的是springboot单模块项目打包,照着我的操作来能够少很多坑
开始
首先,如果安装有问题的,看我的另一个博客https://mp.****.net/postedit/89886686 ,其中有一个设置必须打勾。
首先在src/main 下创建 docker文件夹,并在里面创建Dockerfile文件,文件名字要一样,我放在这个路径下的,下面有一个地方配置的就是这个路径,如果你放其他地方,自己改配置
# 基于哪个镜像
FROM java:8
# 维护者的信息
MAINTAINER pengge
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器(pom里面什么版本,这里的版本号也要改,自己jar包打的什么名字这里就什么名字)
# 不知道jar是啥子名字的,自己研究,no bb
ADD work-1.0.8.jar app.jar
RUN bash -c 'touch /app.jar'
# 开放8081端口
EXPOSE 8081
# 配置容器启动后执行的命令(springboot打包的jar包,java -jar /app.jar命令运行)
# app.jar放在容器的根目录下面的,所以/app.jar
# 启动命令复杂的,自行修改就行了,他解析命令是把方括号里面的双引号弄起来的,
# 连到一起,每个双引号的用空格隔开
ENTRYPOINT ["java", "-jar", "/app.jar"]
POM文件增加两个plugin
<!--加了一个这个plugin,可以打包的时候不去运行一次,跳过Test-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<!--打包plugin配置-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.3</version>
<configuration>
<imageName>${project.artifactId}-${project.version}</imageName>
<!--Dockerfile存放位置-->
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
可以了,执行命令:
mvn clean package docker:build
如果有问题,就看哈文章开始我关联的另一篇博客,祝各位老铁好运
基本没问题了,剩下的就是docker images看哈打好了镜像没有,然后去登录阿里云,他的镜像管理里面有教你怎么推上去,按理来讲如果你用的网易云,应该也有,