如何把SpringBoot项目打包成Docker镜像

本文小编为大家详细介绍“如何把SpringBoot项目打包成Docker镜像”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何把SpringBoot项目打包成Docker镜像”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

把SpringBoot项目打包成Docker镜像有两种方案:

全自动化:先打好docker镜像仓库,然后在项目的maven配置中配置好仓库的地址,在项目里配置好Dockerfile文件,这样可以直接在idea中打包好后自动上传到镜像仓库,然后去服务器上启动这个镜像就行了。

半自动化:半自动化又有两种方案,一种是Dockerfile文件放在项目里面,一种是放在项目外面。

  • 放在项目里面:springboot pom.xml中配置maven插件支持,打包时会使用项目里面的dockerfile,如果没配置插件支持会报错找不到dockerfile文件

  • 放在项目外面:springboot还是打包成普通的jar,然后把这个jar上传到服务器,同时在服务器创建一个Dockerfile文件,执行docker build命令,把这个jar构建成一个docker镜像,然后通过镜像执行。

一般来说用半自动化比全自动化用的多,本文用的算是半自动化方式的第二种,总体来说有一下几个步骤:

1. 构建SpringBoot项目

如何把SpringBoot项目打包成Docker镜像  springboot 第1张

如何把SpringBoot项目打包成Docker镜像  springboot 第2张

编写一个controller

如何把SpringBoot项目打包成Docker镜像  springboot 第3张

进行本地测试

如何把SpringBoot项目打包成Docker镜像  springboot 第4张

2. 打包应用

点击package将项目进行打包

如何把SpringBoot项目打包成Docker镜像  springboot 第5张

打包成功

如何把SpringBoot项目打包成Docker镜像  springboot 第6张

cmd运行java -jar能够运行成功

如何把SpringBoot项目打包成Docker镜像  springboot 第7张

可以下载个Docker插件

如何把SpringBoot项目打包成Docker镜像  springboot 第8张

3. 编写dockerfile

在target里面创建Dockerfile文件,此时Dockerfile文件是高亮的

如何把SpringBoot项目打包成Docker镜像  springboot 第9张

Dockerfile配置内容(在Idea里面写Dockerfile会有提示)

#发布到网上时只会把jar包和Dockerfile发布上去
COPY *.jar /app.jar
#地址映射
CMD ["--server.port=8080"]
#对外暴露端口
EXPOSE 8080
#执行命令
ENTRYPOINT ["java","-jar","/app.jar"]

4. 构建镜像

将jar包和Dockerfile文件拿出来新建个文件夹放里面,按住shift键打开PowerShell
(注意:本人电脑上安装的是Docker Desktop)

如何把SpringBoot项目打包成Docker镜像  springboot 第10张

输入命令构建镜像,firstdocker是镜像名(最后的 . 表示 Dockerfile 文件在当前目录下)

如何把SpringBoot项目打包成Docker镜像  springboot 第11张

查看构建好的镜像(不清楚命令的可以先学一下基础命令)

如何把SpringBoot项目打包成Docker镜像  springboot 第12张

镜像构建成功后运行容器(第一个为服务器8080端口,第二个8080为docker容器端口)

如何把SpringBoot项目打包成Docker镜像  springboot 第13张

可以看容器是否在运行和日志信息

如何把SpringBoot项目打包成Docker镜像  springboot 第14张

访问成功

如何把SpringBoot项目打包成Docker镜像  springboot 第15张

5. 发布运行

可以将镜像上传到dockerhub,以后使用Docker之后,给别人交付的就是一个镜像即可!

读到这里,这篇“如何把SpringBoot项目打包成Docker镜像”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram