使用docker部署自己的第一个SpringBoot项目

以前部署服务器都是运维小哥写好脚本我去传包、执行命令就结束了,今天自己学习了一下怎么在docker部署项目,完成了第一个纯靠自己查资料成功部署的SpringBoot项目,欢迎大佬指教
关于mysql、redis等组件的安装这里就不展示了,具体就是docker安装各种组件,度娘都有,能保证你打的jar包能正常连上环境!启动不失败就可以(本人也是个linux菜鸟,但是根据度娘上各路大神的文章一步一步来也都安装成功了,小伙伴们一定要沉下心来学习)在这里插入图片描述

话不多说直接进入本文重点:

  1. 先创建个目录放jar包文件,使用 -p 是指usr、local这些父级目录如果不存在也一并创建
mkdir -p /usr/local/todo-something
  1. 使用xftp客户端(这里笔者还是比较菜的,不会用命令拷贝,大佬直接用命令就行)把打包好的jar文件拷贝到目录/usr/local/todo-something下
    在这里插入图片描述
  2. 目录/usr/local/todo-something下创建.sh执行脚本,并编写脚本内容
touch todo-something.sh
vim todo-something.sh

脚本内容如下

SOURCE_PATH=/usr/local/todo-something
SERVER_NAME=todo-something
TAG=1.0
SERVER_PORT=8081
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
if [ -n "$CID" ]; then
  echo "存在容器$SERVER_NAME,CID-$CID"
  docker stop $CID
  echo "成功停止容器$SERVER_NAME,CID-$CID"
  docker rm $CID
  echo "成功删除容器$SERVER_NAME,CID-$CID"
fi
if [ -n "$IID" ]; then
  echo "存在镜像$SERVER_NAME:$TAG,IID=$IID"
  docker rmi $IID
  echo "成功删除镜像$SERVER_NAME:$TAG,IID=$IID"
fi
echo "开始构建镜像$SERVER_NAME:$TAG"
cd $SOURCE_PATH
docker build -t $SERVER_NAME:$TAG .
echo "成功构建镜像$SERVER_NAME:$TAG"
docker run --restart=always --name todo-something -d -p 8081:8081 todo-something:1.0
echo "成功创建并运行容器$SERVER_NAME"

用cat命令输出刚编写的脚本内容

cat todo-something.sh

在这里插入图片描述

  1. 目录/usr/local/todo-something下创建Dockerfile,
touch Dockerfile
vim Dockerfile

脚本内容如下*(挖槽笔者比较菜,只能理解成这样了),设置服务器时间,创建todo-something.jar镜像文件,设置运行参数,暴露端口8081

FROM openjdk:8
RUN rm -f /etc/localtime \
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
ADD todo-demo-0.0.1-SNAPSHOT.jar todo-something.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","todo-something.jar"]
EXPOSE 8081

用cat命令输出刚写的脚本内容

cat Dockerfile

在这里插入图片描述

  1. 经过以上步骤操作目录/usr/local/todo-something下是这些文件
    在这里插入图片描述

  2. 然后执行todo-something.sh

sh todo-something.sh

在这里插入图片描述

  1. 查看服务运行日志
docker logs -f todo-something

在这里插入图片描述
经过以上步骤,恭喜各位,一个springboot项目就在docker部署完成了!
postman测试一下接口是否能调通,这里要注意一下服务器有防火墙,如果开启状态要配置安全组,将8081暴露给外网
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值