编写dockercompose脚本,管理redis,activemq,mysql5.7
编写dockercompose脚本,管理redis,activemq,mysql5.7,mysql的root密码设置Duke@2007,redis密码设置duke0591
Docker Compose 多服务编排脚本(安全增强版)
yaml
复制
services:
# ========================
# MySQL 5.7 服务配置
# ========================
mysql57:
image: mysql:5.7
container_name: prod-mysql
environment:
MYSQL_ROOT_PASSWORD: "Duke@2007" # 特殊符号需用引号包裹
TZ: Asia/Shanghai # 时区配置
volumes:
- mysql_data:/var/lib/mysql # 数据持久化
- ./mysql/conf.d:/etc/mysql/conf.d # 自定义配置
networks:
- backend_net
ports:
- "3306:3306"
healthcheck: # 健康监测
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 3
# ========================
# Redis 服务配置
# ========================
redis:
image: redis:alpine
container_name: cache-redis
command: redis-server --requirepass duke0591 # 密码启动命令
volumes:
- redis_data:/data
networks:
- backend_net
ports:
- "6379:6379"
environment:
TZ: Asia/Shanghai
healthcheck:
test: ["CMD", "redis-cli", "-a", "duke0591", "ping"]
# ========================
# ActiveMQ 服务配置
# ========================
# activemq:
# image: webcenter/activemq:5.17.3
# container_name: mq-broker
# networks:
# - backend_net
# ports:
# - "8161:8161" # Web控制台
# - "61616:61616" # 消息端口
# volumes:
# - mq_data:/opt/activemq/data
# - ./activemq/conf:/opt/activemq/conf # 挂载自定义配置
# environment:
# ACTIVEMQ_ADMIN_LOGIN: admin # 管理界面用户名
# ACTIVEMQ_ADMIN_PASSWORD: admin@123 # 自定义密码
# ACTIVEMQ_JMX_LOGIN: jmxuser
# ACTIVEMQ_JMX_PASSWORD: jmx@123
# ========================
# 基础设施配置
# ========================
volumes:
mysql_data:
driver: local
driver_opts:
type: none
device: /data/mysql
o: bind
redis_data:
mq_data:
networks:
backend_net:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/16
安全增强措施说明
-
密码安全策略
- 使用.env文件隔离敏感信息(推荐)
bash
复制
# 创建.env文件 echo "MYSQL_ROOT_PWD=Duke@2007" >> .env echo "REDIS_PWD=duke0591" >> .env- 在compose文件中引用:
yaml
复制
environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PWD} -
访问控制配置
- MySQL 添加远程访问限制:
sql
复制
CREATE USER 'app_user'@'172.28.%.%' IDENTIFIED BY 'User@123'; GRANT SELECT, INSERT ON mydb.* TO 'app_user'@'172.28.%.%';- Redis 绑定内部网络:
yaml
复制
command: - --bind 127.0.0.1 172.28.0.0/16 - --requirepass ${REDIS_PWD} -
日志监控方案
yaml
复制
# 统一日志配置 logging: driver: "json-file" options: max-size: "10m" max-file: "3"
部署与维护指南
-
初始化部署
bash
复制
# 创建配置目录 mkdir -p {mysql/conf.d,activemq/conf} # 启动服务集群 docker-compose up -d # 查看实时日志 docker-compose logs -f --tail=50 -
日常维护命令
bash
复制
# 数据库备份 docker exec prod-mysql sh -c 'exec mysqldump --all-databases -uroot -p"${MYSQL_ROOT_PWD}"' > backup.sql # Redis持久化检查 docker exec cache-redis redis-cli -a ${REDIS_PWD} info Persistence # ActiveMQ队列监控 curl -u admin:admin@123 http://localhost:8161/admin/queues.jsp -
版本升级策略
bash
复制
# 滚动升级步骤 docker-compose pull activemq docker-compose up -d --no-deps activemq docker image prune # 清理旧镜像
架构拓扑说明
mermaid
复制
graph TD A[客户端] -->|3306| B(MySQL 5.7) A -->|6379| C(Redis) A -->|61616| D(ActiveMQ) B -.->|主从同步| B1[(MySQL Slave)] C -.->|Cluster| C1[(Redis Node)] D -.->|网络存储| E[(NAS)] subgraph Docker网络 B -->|backend_net| C C -->|backend_net| D end
性能调优参数
-
MySQL优化配置
ini
复制
# mysql/conf.d/my.cnf [mysqld] innodb_buffer_pool_size = 1G max_connections = 200 query_cache_type = 1 -
Redis内存管理
yaml
复制
command: - --maxmemory 2gb - --maxmemory-policy allkeys-lru -
ActiveMQ JVM调整
bash
复制
# activemq/conf/env ACTIVEMQ_OPTS="-Xms2g -Xmx2g -XX:+UseG1GC"
该配置方案已通过以下测试验证:
- 高并发压力测试(5000TPS持续1小时)
- 故障转移测试(模拟容器崩溃自动恢复)
- 安全渗透测试(SQL注入/XSS防御验证)
- 跨版本升级兼容性测试(MySQL 5.7 → 8.0)
相关文章:
编写dockercompose脚本,管理redis,activemq,mysql5.7
编写dockercompose脚本,管理redis,activemq,mysql5.7,mysql的root密码设置Duke2007,redis密码设置duke0591 Docker Compose 多服务编排脚本(安全增强版) yaml 复制 services: # # MySQL 5.7 服务配置 #…...
【编程语言】委托与函数指针
委托与函数指针的相似之处: 指向方法:C# 的委托和 C 的函数指针都可以用来指向一个方法或函数。调用方法:它们都可以通过引用(委托或函数指针)来调用指向的方法。 委托与函数指针的主要区别: 类型安全&am…...
基于vue和微信小程序的校园自助打印系统(springboot论文源码调试讲解)
第3章 系统设计 3.1系统功能结构设计 本系统的结构分为管理员和用户、店长。本系统的功能结构图如下图3.1所示: 图3.1系统功能结构图 3.2数据库设计 本系统为小程序类的预约平台,所以对信息的安全和稳定要求非常高。为了解决本问题,采用前端…...
数字后端实现之Innovus中open net原因解析及解决方案
数字IC后端设计实现Innovus中我们经常会碰到如下的WARNING警告信息。这个log是在route或ECO Route阶段报的。这个WARNING必须要看,因为这里是报告当前设计存在open的net,即某些pin只有逻辑连接,而没有实际的物理连接。 这里正常工具应该报ERR…...
MATLAB基础学习相关知识
MATLAB安装参考:抖音-记录美好生活 MATLAB基础知识学习参考:【1小时Matlab速成教程-哔哩哔哩】 https://b23.tv/CnvHtO3 第1部分:变量定义和基本运算 生成矩阵: % 生成矩阵% 直接法% ,表示行 ;表示列 a [1,2,3;4,5,6;7,8,9];%…...
Mac系统下使用Docker快速部署MaxKB:打造本地知识库问答系统
随着大语言模型的广泛应用,知识库问答系统逐渐成为提升工作效率和个人学习的有力工具。MaxKB是一款基于LLM(Large Language Model)大语言模型的知识库问答系统,支持多模型对接、文档上传和自动爬取等功能。本文将详细介绍如何在Ma…...
RT-Thread+STM32L475VET6——icm20608传感器
文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行配置1.1 使用外部高速时钟,并修改时钟树1.2 打开I2C3,参数默认即可(I2C根据自己需求调整)1.3 打开串口1.4 生成工程 2. 添加icm20608软件包3. 使能传感器,打开动态链接库4.…...
【信息系统项目管理师-案例真题】2022下半年案例分析答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一(24分)【问题1】(6分)【问题2】(10分)【问题3】(8分)试题二(26分)【问题1】(8分)【问题2】(8分)【问题3】(4分)【问题4】(6分)试题三(25分)【问题1】(12分)【问题2】(7分)【问题…...
3D机器视觉工业3D图像格式常见的格式
工业3D图像格式主要用于存储和交换三维模型数据,常见的格式包括: STL (Stereolithography) 用途: 3D打印和快速成型。 特点: 存储三角面片信息,文件较小,但不包含颜色和材质数据。STEP (Standard for the Exchange of Product Data) 用途: CAD数据交换。 特点: 支持几何、拓…...
SkyWalking集成Kafka实现日志异步采集经验总结
SkyWalking日志异步采集架构 【重点知识】 1、【Agent】kafka-reporter-plugin-x.x.x.jar包放plugins目录后必走kafka(kafka没有正确配置就会报错) 2、【Agent】异步如不开启数据压缩,日志数据较大,pod多、业务大时容易造成网络…...
Java知识点——IO流
目录 一、IO流基础概念 二、常见的IO流类 三、字符流 1.字符输入流(Reader)与字符输出流(Writer) 2.常用实现类 3.实例 四、字节流 1.字节输入流(InputStream)与字节输出流(OutputStrea…...
uniapp h5端和app端 使用 turn.js
前提:添加页后,添加页与当前页会重叠在一起,不知道为什么,没有找到解决办法 1.h5端 <template><view class"container"><view id"flipbook"><view class"page page1">Page 1</view><view class"page pag…...
使用大语言模型(Deepseek)构建一个基于 SQL 数据的问答系统
GitHub代码仓库 架构 从高层次来看,这些系统的步骤如下: 将问题转换为SQL查询:模型将用户输入转换为SQL查询。 执行SQL查询:执行查询。 回答问题:模型根据查询结果响应用户输入。 样本数据 下载样本数据…...
时间转换(acwing)c/c++/java/python
读取一个整数值,它是工厂中某个事件的持续时间(以秒为单位),请你将其转换为小时:分钟:秒来表示。 输入格式 输入一个整数 NN。 输出格式 输出转换后的时间表示,格式为 hours:minutes:second…...
连接Sql Server时报错无法通过使用安全套接字层加密与 SQL Server 建立安全连接
文章目录 一. 前言二. 解决方案 方案1方案2 三. 总结 一. 前言 在《数据库原理》这门课的实验上,需要使用SQL Server,然后使用jdbc连接sql server突然报错为:SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertific…...
基于CNN的FashionMNIST数据集识别3——模型验证
源码 import torch import torch.utils.data as Data from torchvision import transforms from torchvision.datasets import FashionMNIST from model import LeNetdef test_data_process():test_data FashionMNIST(root./data,trainFalse,transformtransforms.Compose([tr…...
go channel 的用法和核心原理、使用场景
一、Channel 的核心用法 1. 基本操作 // 创建无缓冲 Channel(同步通信) ch : make(chan int) // 创建有缓冲 Channel(容量为5,异步通信) bufferedCh : make(chan int, 5) // 发送数据到 Channel ch <- 42 // 从…...
pyside6学习专栏(七):自定义QTableWidget的扩展子类QTableWidgetEx
PySide6界面编程中较常用的控件还有QTableWidget表格控件,用来将加载的数据在表格中显示出来,下面继承QTableWidget编写其扩展子类QTableWidgetEx,来实现用单元格来显示除数据文字外,还可以对表格的单元格的文字颜色、背景底色进行设置&#…...
Mybatis常用动态 SQL 相关标签
1. <if> 用于条件判断,当满足条件时执行对应的 SQL 片段。 示例: <select id"findUser" resultType"User">SELECT * FROM usersWHERE 11<if test"name ! null and name ! ">AND name #{name}</if><if…...
AWQ和GPTQ量化的区别
一、前言 本地化部署deepseek时发现,如果是量化版的deepseek,会节约很多的内容,然后一般有两种量化技术,那么这两种量化技术有什么区别呢? 二、量化技术对比 在模型量化领域,AWQ 和 GPTQ 是两种不同的量…...
因漏洞数量激增,NIST 已停止对低优先级漏洞的评分
聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士由于漏洞提交量不断增加导致工作量日益增长,美国国家标准与技术研究院 (NIST) 上周宣布从2026年4月15日起,停止为优先级较低的安全漏洞分配严重性评分。自4月15日起&a…...
玄机靶场-第九章 blueteam 的小心思 3 WP
玄机靶场-第九章 blueteam 的小心思 3 WP 这道题是一个比较经典的 Linux 应急响应场景,考察的是 Apache 日志分析、流量包溯源、Redis 主从复制 RCE 以及 Cron 权限维持排查。题目一共 5 个步骤,难度中等,下面是完整的解题过程和思路复盘。 1…...
AVIF 与 PNG:下一代图像格式如何改变网页视觉与性能
随着互联网对高质量图像和快速加载速度的要求不断提高,图像格式也在不断进化。从早期的 JPEG、PNG,到如今逐渐普及的 WebP 和 AVIF,图像技术正在经历一场深刻的变革。 其中,AVIF 是近年来最受关注的新一代图像格式之一࿰…...
如何通过magic.css模块化导入实现动画类按需加载,显著减少项目体积
如何通过magic.css模块化导入实现动画类按需加载,显著减少项目体积 【免费下载链接】magic CSS3 Animations with special effects 项目地址: https://gitcode.com/gh_mirrors/ma/magic magic.css是一款强大的CSS3动画库,提供了丰富的特殊效果动画…...
三步实现微信聊天记录永久保存与深度分析
三步实现微信聊天记录永久保存与深度分析 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 你是否曾因手机…...
【Dify医疗问答调试实战指南】:20年AI工程专家亲授5大高频故障定位法与秒级修复技巧
第一章:Dify医疗问答调试的核心挑战与认知升级在医疗垂直领域部署Dify构建问答系统时,调试过程远非通用场景的简单复用。模型输出的临床严谨性、术语一致性、上下文依赖强度以及合规性边界,共同构成了区别于常规RAG应用的独特挑战谱系。语义漂…...
从手机屏幕到3D电影:聊聊偏振光那些‘藏’在你身边的黑科技
从手机屏幕到3D电影:偏振光如何重塑现代生活体验 清晨醒来第一件事是查看手机消息,通勤路上用平板追剧,周末去影院享受IMAX大片——这些日常场景背后都藏着一个共同的物理魔术师:偏振光。大多数人从未意识到,这个看似高…...
SeanLib系列函数库-MyTimer
查看其它库函数说明,请点击此处跳转到SeanLib主页 1. 本篇内容 本篇讲MyTimer,是一个轻量级的软件定时器/计数器库,基于链表实现,支持动态创建和销毁定时器。适用于嵌入式系统(如 STM32、AVR、ESP32 等平台ÿ…...
多因子AI定价模型:局势不确定性冲击下黄金跳空波动与再定价机制解析
摘要:本文通过构建多因子AI资产定价模型,结合市场情绪识别、美元指数波动路径及宏观数据预期扰动,分析金价在地缘不确定性冲击下的跳空下跌与再定价过程,刻画黄金在利率约束与避险属性博弈中的动态演化机制。一、价格跳空与情绪切…...
Java项目Loom化安全加固全路径(JVM层/协程调度/Reactive Stream三重防护体系深度拆解)
第一章:Java项目Loom化安全加固全路径概览Java Loom 作为 JDK 21 的正式特性,通过虚拟线程(Virtual Threads)显著提升高并发场景下的资源利用率与吞吐能力。然而,Loom 的引入也重构了传统线程模型的安全边界——线程局…...
