Docker发布Springboot项目包

前言

最近项目接触到比较扯淡的事情,开发环境和测试环境网络不通,发布测试环境比较费劲,最后考虑使用Docker-compose来实现发布,下面开启我的使用之旅吧…………

解决问题列表

  1. Springboot项目打包
  2. 通过Dockerfile构建镜像
  3. dockercompose修改配置文件参数
  4. 使用dockercompose来进行镜像发布启动

文件目录

Springboot项目打包

该步骤省略,网上很多帖子,不详细叙述,有需要的可以留言,根据留言情况可以写新的帖子。

通过Dockerfile构建镜像

创建Dockerfile内容如下

# 使用官方的 OpenJDK 11 镜像作为基础镜像
FROM openjdk:11-jre-slim

# 设置工作目录
# WORKDIR /app

# 将构建好的 JAR 文件复制到容器中

ADD demo-0.0.1-SNAPSHOT.jar demo.jar

# 指定容器启动时运行的命令
ENTRYPOINT ["/bin/sh", "-c", "java -jar demo.jar"]

 dockercompose修改配置文件参数

创建docker-compose-demo.yml内容如下

version: '3'
services:
  demo: 
    restart: always  #总是重启,包括宕机,异常等
    build: 
      context: .  # 使用当前目录的 Dockerfile 来构建镜像
      args:
        TAG: ${DATATIME}  #构建docker镜像的版本号
    container_name: demo  #启动容器的名称
    image: demo:${DATATIME}  #启动镜像的名称:版本号
    ports:
      - "9088:9088"  #springboot服务端口映射:  对外端口:服务本身端口
    environment:
      - SERVER_PORT=9088  #springboot服务本身端口参数设置
    volumes:
      - ./logs:/demo/logs  #日志映射

使用dockercompose来进行镜像发布启动


MODULE_NAME=demo
DATATIME=$(date +%Y%m%d%H%M%S)

#build 
#docker build -t demo ./  #该步骤通过上面docker-compose中的build来实现

#remove server
docker stop ${MODULE_NAME} 2>/dev/null && docker rm -fv ${MODULE_NAME} 2>/dev/null

#start server
#docker-compose -f docker-compose-demo.yml up --build -d 

#下面指令DATATIME=${DATATIME}传入docker-compose-demo.yml${DATATIME}来使用
DATATIME=${DATATIME} docker-compose -f docker-compose-demo.yml up --build -d

 

 打完收工,欢迎各位大佬提供更好的思路!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值