优雅的部署-Spring Boot Docker容器化部署脚本

Spring Boot Docker容器化部署脚本

#!/bin/bash

# 定义变量
IMAGE_NAME=ydsc:v1
CONTAINER_NAME=ydsc-container

# 判断容器是否存在,若存在则停止并移除
if [ $(docker ps -q -f name=$CONTAINER_NAME) ]; then
    echo "Stopping and removing $CONTAINER_NAME container..."
    docker stop $CONTAINER_NAME
    docker rm $CONTAINER_NAME
fi

# 判断镜像是否存在,若存在则移除
if [ $(docker images -q $IMAGE_NAME) ]; then
    echo "Removing old $IMAGE_NAME image..."
    docker rmi $IMAGE_NAME
fi

# 构建镜像
echo "Building new $IMAGE_NAME image..."
docker build --no-cache -t $IMAGE_NAME .

# 启动容器
echo "Starting $CONTAINER_NAME container..."
docker run -d -v $(pwd)/log:/app/log --name $CONTAINER_NAME -p 8093:8093 $IMAGE_NAME

# 判断容器是否成功启动
if [ $(docker ps -q -f name=$CONTAINER_NAME) ]; then
    echo $CONTAINER_NAME "myapp service is running"
    docker logs -f $CONTAINER_NAME
else
    echo $CONTAINER_NAME "myapp service failed to start"
fi

解析:

第一行指定脚本解释器为 bash。

定义变量 IMAGE_NAME 和 CONTAINER_NAME,用于指定镜像名和容器名。

判断容器是否存在,若存在则停止并移除。 ( d o c k e r p s − q − f n a m e = (docker ps -q -f name= (dockerpsqfname=CONTAINER_NAME) 是一个命令替换,用于获取容器 ID。[ ] 中间的部分是一个测试命令,用于检查条件是否成立。echo 用于输出日志。

判断镜像是否存在,若存在则移除。$(docker images -q $IMAGE_NAME) 同样是一个命令替换,用于获取镜像 ID。

构建镜像。docker build --no-cache -t $IMAGE_NAME . 用于构建镜像,–no-cache 参数表示不使用缓存,-t 参数用于指定镜像名,. 表示 Dockerfile 文件所在目录。

启动容器。docker run -d -v $(pwd)/log:/app/log --name $CONTAINER_NAME -p 8093:8093 $IMAGE_NAME 用于启动容器,-d 表示在后台运行,-v 表示挂载目录,–name 表示指定容器名,-p 表示映射端口。

判断容器是否成功启动,若成功则输出容器名和日志。docker logs -f $CONTAINER_NAME 用于查看容器日志。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一个开源的容器平台,可以帮助开发者将应用程序和所有相关的依赖项打包成一个容器,然后在不同的环境中运行。而Spring Boot是一个用于开发Java应用程序的框架,可以简应用程序的配置,并提供了内置的Web服务器等功能。 使用Docker部署Spring Boot应用程序,并使用脚本每次替换Jar文件,可以采取以下步骤: 1. 首先,确保在本地环境中已经安装了DockerDocker Compose。这些工具可以提供方便的容器管理和编排能力。 2. 创建一个Dockerfile,用于定义Docker镜像的构建规则。在Dockerfile中,指定使用的基础镜像、拷贝Spring Boot应用程序的Jar文件到容器中,并设置容器的入口命令。 3. 在Dockerfile同级目录下,创建一个docker-compose.yml文件,用于定义Docker容器的编排规则。在这个文件中,指定要运行的服务、容器的名称、端口映射等信息。 4. 编写一个简单的脚本,用于构建Docker镜像并启动容器。在脚本中,可以使用Docker命令进行相关的操作,如构建镜像、删除旧的容器、运行新的容器等。脚本可以将这些操作整合到一起,并根据需要传递参数,如新的Jar文件的路径。 5. 在每次需要部署更新的时候,将新的Spring Boot应用程序的Jar文件复制到指定的目录中。然后运行部署脚本脚本会自动构建新的Docker镜像,并在Docker容器中运行最新的应用程序。 通过以上步骤,我们可以实现使用Docker部署Spring Boot应用程序,并使用脚本每次替换Jar文件。这样可以方便地进行应用程序的更新和部署,并确保每次部署都是基于最新的Jar文件进行的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值