Linux中基于容器化部署的解决方案(以JAVA项目为例)

本文详细介绍了在Linux系统中,采用容器化部署JAVA项目的过程,包括网络IP划分、共享资源策略、端口配置、MySQL和Redis的部署、项目配置以及Dockerfile的使用,旨在规范化部署流程,提高效率和安全性。
摘要由CSDN通过智能技术生成

项目部署规范

规范目的

本规范主要目的是为了规范部署流程,规避部署期间带来的各种问题,提升部署效率,使部署更加方便、安全。

技术架构

ip划分

我们在部署前先划分网络,将不同的设备设置在固定的网段区间。

  • 网段开头统一以172.29开头,所有服务都在改网段下;
  •  每一套服务(包括前后端服务等)都占有一个网段,例如:172.29.0网段、172.29.1网段、172.29.2网段;
  • 共享服务(如数据库、redis)等,五个网段共享一个,比如172.29.0-172.29.4共享一个数据库和redis;
  • 固定服务ip,172.29.*.0~172.29.*.20为第三方组件ip段,172.29.*.21以后为项目ip。约束172.29.*.2为MySQL服务,172.29.*.3为Redis服务,172.29.*.4为Postgres服务,172.29.*.5为MongoDB服务,172.29.*.21为Vue前端服务,172.29.*.22为java后端服务,172.29.*.23为ruby后端服务。

jar共享

后端项目需要启动docker时需要把项目的lib数据卷进行本地化映射,使得多个项目共享一套依赖。

端口设置

  • 前端端口:80
  • 后端端口:8080

共享资源创建规范

执行方针

参照《项目部署规范》一文进行配置部署。

共享配置

<共享号> 计算公式:共享号 = 取整(项目部署号 / 5),<端口号> 计算公式:端口号 = 10000 + 默认端口号 + 共享号(例如:MySQL端口号 = 10000 + 3306 + 1 = 13307),<密码> 每个组件的root密码使用相同的,由管理人员统一记录

MySQL部署

docker run --restart=always --name mysql<共享号> -p <端口号>:3306 -v /home/docker_volumes/mysql<共享号>:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=<密码> -d mysql:5.7

Redis部署

docker run --restart=always --name redis<共享号> -v /etc/localtime:/etc/localtime:ro -d redis:7.0

安装MySQL并且初始化数据库和用户

文件结构

  • Dockerfile
  • install_data.sh
  • schema.s
  • 39
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

countrysides

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值