springboot中使用dockerfile

目录

环境

  • MAC
  • Centos7
  • JDK8
  • SpringBoot
  • Dockerfile

一、创建springboot项目

项目结构
上面是springboot的项目结构。

选择Initalizr Service URL

  • 创建springboot项目的时候,选择https://start.aliyun.com,速度比默认的快好几倍。
  • https://start.spring.io/
  • https://start.aliyun.com

在这里插入图片描述

二、创建Dockerfile文件

在这里插入图片描述

  • Dockerfile内容如下:

    该镜像需要依赖的基础镜像

    FROM lhl-docker-java8:1.0

    将targer目录下的jar包复制到docker容器/home/springboot目录下面目录下面

    ADD ./target/springboot-dockerfile-0.0.1-SNAPSHOT.jar /home/springboot/springboot-dockerfile.jar

    声明服务运行在8080端口

    EXPOSE 8080

    执行命令

    CMD [“java”,"-jar","/home/springboot/springboot-dockerfile.jar"]

    指定维护者名称

    MAINTAINER Mirror 393015989@qq.com

三、Springboot用maven打包

在这里插入图片描述

  • 用maven install命令打包
  • 会在target目录下生成jar包

遇到的坑

  • java -jar 命令启动项目的时候,提示找不到主文件

解决办法

  • pom.xml中添加如下配置,如果pom.xml中已经有了,就覆盖一下

    org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 UTF-8 org.springframework.boot spring-boot-maven-plugin repackage

四、制作Docker镜像

在这里插入图片描述

  • 在IDEA的Terminal中,执行如下命令:

    docker build -t lhl-springboot-docker:1.0 .

在这里插入图片描述

  • 出现如上图结果,表示镜像创建成功了。可以用docker images命令查看
    在这里插入图片描述

五、创建Docker容器并启动

  • 执行如下命令:

    docker run -dp 80:8080 --name lhl-springboot-env lhl-springboot-docker:1.1

  • 用我们刚才创建的镜像,创建名字叫lhl-springboot-env的容器,并启动

在这里插入图片描述

六、检验结果

  • 在浏览器中输入localhost
    在这里插入图片描述
  • 成功,我通过主机的80端口,访问六容器里面的8080端口。

七、总结

  • lhl-docker-java8:1.0,这个镜像是我上篇文章做的基础Java环境镜像
  • 在制作的过程中,遇到了springboot找不到主文件的问题,查看了网上那么多资料,只想说一句,写文章不是拷贝别人,要自己实践一下,通过了没问题了,在发表。
  • 学习,是一生的事情,继续加油!
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: SpringBoot项目的打包Dockerfile可以有两种方案。一种是将Dockerfile文件放在项目内部,另一种是将Dockerfile文件放在项目外部。如果选择将Dockerfile文件放在项目内部,可以在SpringBoot的pom.xml文件配置Maven插件来支持。在打包时,会使用项目内部的Dockerfile。如果没有配置插件支持,会报错找不到Dockerfile文件。另一种方案是将SpringBoot项目打包成普通的jar文件,然后将该jar文件上传到服务器。同时,在服务器上创建一个Dockerfile文件,并执行docker build命令,将该jar文件构建成一个Docker镜像。然后可以通过该镜像来执行项目。\[1\] #### 引用[.reference_title] - *1* [SpringBoot项目打包成Docker镜像](https://blog.csdn.net/m0_58969296/article/details/128063832)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Docker——使用Dockerfile构建SpringBoot项目(打包 & 部署 & 运行)](https://blog.csdn.net/weixin_43823808/article/details/119906275)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [springboot工程Dockerfile打包](https://blog.csdn.net/u011017284/article/details/104975734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值