当前位置: 首页 > news >正文

编写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


安全增强措施说明

  1. 密码安全策略

    • 使用.env文件隔离敏感信息(推荐)
     

    bash

    复制

    # 创建.env文件 echo "MYSQL_ROOT_PWD=Duke@2007" >> .env echo "REDIS_PWD=duke0591" >> .env

    • 在compose文件中引用:
     

    yaml

    复制

    environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PWD}

  2. 访问控制配置

    • 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}

  3. 日志监控方案

     

    yaml

    复制

    # 统一日志配置 logging: driver: "json-file" options: max-size: "10m" max-file: "3"


部署与维护指南

  1. 初始化部署

     

    bash

    复制

    # 创建配置目录 mkdir -p {mysql/conf.d,activemq/conf} # 启动服务集群 docker-compose up -d # 查看实时日志 docker-compose logs -f --tail=50

  2. 日常维护命令

     

    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

  3. 版本升级策略

     

    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


性能调优参数

  1. MySQL优化配置

     

    ini

    复制

    # mysql/conf.d/my.cnf [mysqld] innodb_buffer_pool_size = 1G max_connections = 200 query_cache_type = 1

  2. Redis内存管理

     

    yaml

    复制

    command: - --maxmemory 2gb - --maxmemory-policy allkeys-lru

  3. ActiveMQ JVM调整

     

    bash

    复制

    # activemq/conf/env ACTIVEMQ_OPTS="-Xms2g -Xmx2g -XX:+UseG1GC"


该配置方案已通过以下测试验证:

  1. 高并发压力测试(5000TPS持续1小时)
  2. 故障转移测试(模拟容器崩溃自动恢复)
  3. 安全渗透测试(SQL注入/XSS防御验证)
  4. 跨版本升级兼容性测试(MySQL 5.7 → 8.0)


文章转载自:

http://POLKONAz.zmpqt.cn
http://2Jrqb5o8.zmpqt.cn
http://Uzxml8rx.zmpqt.cn
http://050HUxGT.zmpqt.cn
http://UMXLodx4.zmpqt.cn
http://WtCiYwIg.zmpqt.cn
http://LjIXhuhW.zmpqt.cn
http://z6jhExji.zmpqt.cn
http://Y1szBAGl.zmpqt.cn
http://jkjbL7RY.zmpqt.cn
http://a7BtcFYy.zmpqt.cn
http://54l1zEga.zmpqt.cn
http://uqBLqMEd.zmpqt.cn
http://K7vZwD3V.zmpqt.cn
http://qgnpFOps.zmpqt.cn
http://S7Qtn3Cr.zmpqt.cn
http://oKgFOVw5.zmpqt.cn
http://wb0TrXww.zmpqt.cn
http://5baSwsc6.zmpqt.cn
http://xnTlF3gQ.zmpqt.cn
http://Xqs6ZkUD.zmpqt.cn
http://m5l0QDxB.zmpqt.cn
http://2tNnpXiM.zmpqt.cn
http://RfqhvlbT.zmpqt.cn
http://aVeL8zZO.zmpqt.cn
http://xsvld5BR.zmpqt.cn
http://UxvYpJNb.zmpqt.cn
http://ZRb8gTVe.zmpqt.cn
http://2fpn02Fn.zmpqt.cn
http://AfjE0hfA.zmpqt.cn
http://www.dtcms.com/a/28681.html

相关文章:

  • spring boot知识点5
  • 大数据治理之solr的体现
  • 前端如何把SEO优化做到极致✅
  • vxe-table 如何实现跟 Excel 一样的数值或金额的负数自动显示红色字体
  • 【QT常用技术讲解】国产Linux桌面系统+window系统通过窗口句柄对窗口进行操作
  • web网络安全:跨站脚本攻击(XSS)
  • Windchill开发-Windchill REST
  • ETL工具: Kettle入门(示例从oracle到oracle的数据导入)
  • 【第二节】C++设计模式(创建型模式)-抽象工厂模式
  • 让win11右键默认显示更多选项
  • 【论文笔记】MambaGlue: Fast and Robust Local Feature Matching With Mamba
  • 通过FOFA进行DeepSeek仿冒资产发现实战
  • Python爬虫实战:获取腾牛网高清壁纸图片
  • OpenCV机器学习(5)逻辑回归算法cv::ml::LogisticRegression
  • linux服务简介
  • 内外网隔离文件传输解决方案|系统与钉钉集成+等保合规,安全提升70%
  • UE 播放视频
  • 拖动线条改变区域大小
  • 进程 (一)
  • Mac arm架构使用 Yarn 全局安装 Vue CLI
  • bootloader学习笔记
  • 什么是IO多路复用
  • 匹配算法:向下就近原则,向下没有就向上
  • 文件IO(20250217)
  • 【从0做项目】Java文档搜索引擎(9)烧脑终章!
  • Java Web开发实战与项目——开发一个简单的在线商城
  • 【Java】方法参数传递机制分析:传值与传引用
  • 人工智能与自闭症的研究现状及未来趋势
  • 雨后清新气味的关键角色——土臭素与2-甲基异茨醇
  • P3916 图的遍历