其他分享
首页 > 其他分享> > 使用docker对springboot项目打包部署,优雅脚本更新jar包

使用docker对springboot项目打包部署,优雅脚本更新jar包

作者:互联网

背景

将自己的springboot项目打包发布到阿里云服务器上,使用docker进行部署


干饭人


发布前准备两个工作

1.创建Dockerfile文件

#选定jdk版本
FROM java:8
#容器启动时启动创建的.sh脚本。
CMD ["sh","-c","/data/rufeng.sh"]

2.创建脚本文件rufeng.sh,并赋予可执行的权限,所在目录可以自定义

[root@172 data]# cat rufeng.sh
java -jar /data/rufeng-0.0.1-SNAPSHOT.jar
[root@172 data]# chmod +x rufeng.sh
[root@172 data]# 


3.将打好的包包上传到同目录文件下,目录结构如下

[root@172 springboot]# ll
total 25460
-rw-r--r-- 1 root root      136 Jan 28 17:58 Dockerfile
-rw-r--r-- 1 root root 26058913 Jan 28 17:41 rufeng-0.0.1-SNAPSHOT.jar
-rw-r--r-- 1 root root       42 Jan 28 17:43 rufeng.sh


一、开始构建项目容器

示例:# docker build -t rufengstart . 记住最后有个点别忘记了,代表是在当前目录构建

[root@172 springboot]# docker build -t rufengstart .
Sending build context to Docker daemon  26.06MB
Step 1/2 : FROM java:8
 ---> d23bdf5b1b1b
Step 2/2 : CMD ["sh","-c","/data/rufeng.sh"]
 ---> Running in 4f28759a58d0
Removing intermediate container 4f28759a58d0
 ---> 2149e6163ce5
Successfully built 2149e6163ce5
Successfully tagged rufengstart:latest

二、查看当前容器内的镜像

1.docker images

[root@172 springboot]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
rufengstart         latest              2149e6163ce5        2 minutes ago       643MB
mysql               latest              c8562eaf9d81        9 days ago          546MB
redis               latest              ef47f3b6dc11        6 weeks ago         104MB
nginx               latest              bc9a0695f571        2 months ago        133MB
centos              latest              0d120b6ccaa8        5 months ago        215MB
java                8                   d23bdf5b1b1b        4 years ago         643MB
[root@172 springboot]# 

docker启动命令

[root@172 springboot]# docker run --name rufengdemo -d -p 8080:9999 -v /root/data/springboot:/data rufengstart
9fdc93561d7f0278e4081fdf6c2c16620d4a4c96a8dae52bd406525c3086fb81
[root@172 springboot]# 

–name:给当前启动的容器起个别名
-d: 后台运行容器,并返回容器ID
-p: 指定端口映射,容器内部端口随机映射到主机的端口
-v: 宿主机的目录和容器内的目录进行映射
最后跟上容器的名称。

2.查看是否启动成功

docker ps (只看正在运行的) 如果后面加 -a 是查看所有的容器包括停止,和正在运行的。

[root@172 springboot]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
9fdc93561d7f        rufengstart         "sh -c /data/rufeng.…"   12 minutes ago      Up 5 seconds        0.0.0.0:8080->9999/tcp              rufengdemo
8619bc14e814        mysql   

测试接口
在这里插入图片描述


总结

如果大家用的是阿里云服务器,记得要在安全配置策略中将端口开放出来哦

标签:rufeng,springboot,jar,sh,docker,root,172
来源: https://blog.csdn.net/qq_45059663/article/details/113351031