小知识:Centos8.3、docker部署springboot项目实战案例分析

引言

目前k8s很是火热,我也特意买了本书去学习了一下,但是k8s动辄都是成百上千的服务器运维,对只有几台服务器的应用来说使用k8s就有点像大炮打蚊子。只有几台服务器的应用运维使用传统的tomcat部署很繁琐,效率不高,动辄十几分钟部署一台服务,使用jenkins部署又太过复杂,斟酌许久我还是选择了使用docker+dockerfile的方式部署。这种方式部署简单高效。

docker安装

?
1
2
3
curl -fssl https://get.docker.com | bash -s docker –mirror aliyun #一键安装脚本
systemctl enable docker.service                                    #设置docker开机启动
systemctl restart docker.service                                   #启动docker服务

开启docker远程访问端口

编辑/usr/lib/systemd/system/docker.service文件添加-htcp://0.0.0.0:12375 -h unix://var/run/docker.sock 如下图:

%小知识:Centos8.3、docker部署springboot项目实战案例分析-猿站网-插图

保存文件后重新加载配置然后重新启动

?
1
2
systemctl daemon-reload           # 重新加载配置
systemctl restart docker.service  # 重启docker服务

注意:-htcp://0.0.0.0:12375 这句话的意思任意ip都可以使用tcp访问这个端口可以根据实际情况匹配ip。因为这里没有token或者密钥所以要特别注意如果使用云服务器那么强烈建议这里设置为安全组ip白名单访问。我当初在测试环境使用docker发布三四个小时就被人攻击了不过当初我是用的2375端口,这个端口特别容易被攻击。

配置ideadocker环境

idea安装docker环境插件如下图:

%小知识:Centos8.3、docker部署springboot项目实战案例分析-1猿站网-插图

安装完成后重启idea然后打开springboot项目,在根目录创建dockerfile文件。如下图:

%小知识:Centos8.3、docker部署springboot项目实战案例分析-2猿站网-插图

编辑dockerfile如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from openjdk:11
# 镜像是从 openjdk:11-jdk-alpin 继承而来的
volume /root/tmp
# 表示挂载了 /root/tmp 目录到容器中
add build/libs/brief-plus-0.0.1-snapshot.jar apprun.jar
# 将bootjar 添加到镜像中根目录下 命令为 apprun.jar
entrypoint [“java”,”-jar”,”/apprun.jar”]
# entrypoint 在容器启动后执行 java 命令来运行程序
# 设置容器时间
env tz=asia/shanghai
run ln -snf /usr/share/zoneinfo/$tz /etc/localtime && echo $tz > /etc/timezone
# ======= 其它的一些dockerfile命令 ========== 这里我们没有用到不过还是提一下
#copy package.json /usr/src/app/
#add 更高级的复制文件
#add 指令和 copy 的格式和性质基本一致。但是在 copy 基础上增加了一些功能。
#cmd 指令就是用于指定默认的容器主进程的启动命令的。
#env 设置环境变量
#healthcheck 健康检查
#expose 指令是声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
expose 8090

主要注意build/libs/brief-plus-0.0.1-snapshot.jar apprun.jar 这句话。 我是用的gradle编译后的文件位于build/libs/ 目录下 如下图:

%小知识:Centos8.3、docker部署springboot项目实战案例分析-3猿站网-插图

maven编译后的文件位于target目录下如下图:

%小知识:Centos8.3、docker部署springboot项目实战案例分析-4猿站网-插图

dockerfile是根据具体的目录和打包后的名称来获取生成镜像文件所以这里一定不能出错。

配置docker服务

配置运行环境

%小知识:Centos8.3、docker部署springboot项目实战案例分析-5猿站网-插图

%小知识:Centos8.3、docker部署springboot项目实战案例分析-6猿站网-插图

%小知识:Centos8.3、docker部署springboot项目实战案例分析-7猿站网-插图

创建一个tcp连接服务

%小知识:Centos8.3、docker部署springboot项目实战案例分析-8猿站网-插图

3.配置发布到docker的服务

%小知识:Centos8.3、docker部署springboot项目实战案例分析-9猿站网-插图

绑定端口ip的详细配置

%小知识:Centos8.3、docker部署springboot项目实战案例分析-10猿站网-插图

打包发布

%小知识:Centos8.3、docker部署springboot项目实战案例分析-11猿站网-插图

%小知识:Centos8.3、docker部署springboot项目实战案例分析-12猿站网-插图

心得建议

1.docker的镜像文件会分块,每块都有自己的签名,每次上传会进行对比差异的文件才会重新上传。

2.每次上传的时候记得更改标签方便根据标签进行回滚。

3.修改服务器的网络配置、防火墙需要重启docker服务。

docker 常用命令:

重启docker

?
1
2
systemctl restart docker      # 重启docker服务
systemctl daemon-reload    # 重新加载docker配置

查看30分钟内的日志

?
1
docker logs –since 30m id

以上就是centos8.3、docker部署springboot项目实战记录的详细内容,更多关于docker部署springboot项目的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/jishuzhaichen/p/14943084.html

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:docker部署springboot和vue项目的实现步骤

2023-3-20 14:15:35

建站知识

小知识:Docker快速安装Zookeeper的详细教程

2023-3-20 14:30:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索