docker 部署_springboot使用docker自动编译部署

springboot运行

springboot自带tomcat,意味着要启动springboot项目不必像ssm项目一样,需要自己配置tomcat,同时springboot追根到底是个java程序,意味着springboot项目也能够像普通java程序一样通过java -jar运行

docker部署springboot方式

通过上述我们可以知道,要使springboot在docker上运行,主要有两种途径:一、将整个springboot项目代码复制到docker容器内,通过mvn spring-boot:run启动,二、在开发机器编译好jar文件,复制到docker容器上,通过java -jar app.jar文件启动。接下来我们分别介绍两种方式

docker通过 mvn spring-boot:run启动

  1. 创建springboot项目

创建的方式很多(idea,指令),我这里通过vscode的springboot插件创建docker-springboot

将pom.xml中添加以下配置,加速maven依赖下载

    centralcentral repositoryhttp://maven.aliyun.com/nexus/content/groups/public/defaulttruenevertruenever
  1. 创建Dockerfile

docker-springboot项目根目录创建Dockerfile

FROM maven:3.5-jdk-8COPY ./src /var/www/html/srcCOPY ./pom.xml /var/www/htmlWORKDIR /var/www/htmlCMD mvn spring-boot:run
  1. 创建docker-springboot镜像

项目根目录执行

docker build -t docker-springboot:v1 .项目根目录执行
  1. 启动容器

默认情况下,springboot项目启动的端口为8080

docker run -p 80:8080 --name docker-springboot docker-springboot:v1

docker通过 java -jar启动

  1. 创建springboot项目

由于上述方式已经创建了springboot项目,我们接下来在以上项目进行改造

  1. 编译springboot项目
mvn clean package -Dmaven.test.skip=true
  1. 创建Dockerfile

将原有的Dockerfile改为Dockerfile.bak, 同时创建Dockerfile

FROM maven:3.5-jdk-8COPY ./target/docker-springboot-0.0.1-SNAPSHOT.jar /var/www/html/app.jarWORKDIR /var/www/htmlCMD java -Xms300m -Xmx800m -jar /var/www/html/app.jar
  1. 创建docker-springboot镜像

项目根目录执行

docker build -t docker-springboot:v2 .
  1. 启动容器

使用docker我们需要一直注意,由于上述一种部署方式已经启动了一个名为docker-springboot容器,如果我们需要启动相同名称的容器,我们需要把之前的停止删除

docker stop docker-springboot
docker rm docker-springboot

默认情况下,springboot项目启动的端口为8080

docker run -p 80:8080 --name docker-springboot docker-springboot:v2
  1. 效果

浏览器输入

localhost
089ff05695f628f2cdd49e5763c0dedc.png

docker启动springboot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值