使用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