#!/bin/bash #使用说明,用来提示输入参数 usage() { echo "Usage: sh 执行脚本.sh [port|mount|monitor|base|start|stop|stopall|rm|rmiNoneTag]" exit 1 } #开启所需端口(生产环境不推荐开启) port(){ # mysql 端口 firewall-cmd --add-port=3306/tcp --permanent # redis 端口 firewall-cmd --add-port=6379/tcp --permanent # minio api 端口 firewall-cmd --add-port=9000/tcp --permanent # minio 控制台端口 firewall-cmd --add-port=9001/tcp --permanent # 监控中心端口 firewall-cmd --add-port=9100/tcp --permanent # 任务调度中心端口 firewall-cmd --add-port=9900/tcp --permanent # nacos端口 firewall-cmd --add-port=8848/tcp --permanent firewall-cmd --add-port=9848/tcp --permanent firewall-cmd --add-port=9849/tcp --permanent # sentinel端口 firewall-cmd --add-port=8718/tcp --permanent # seata端口 firewall-cmd --add-port=7091/tcp --permanent firewall-cmd --add-port=8091/tcp --permanent # elk端口 firewall-cmd --add-port=9200/tcp --permanent firewall-cmd --add-port=5601/tcp --permanent firewall-cmd --add-port=4560/tcp --permanent # kafka端口 firewall-cmd --add-port=2181/tcp --permanent firewall-cmd --add-port=9092/tcp --permanent firewall-cmd --add-port=19092/tcp --permanent # rabbitmq端口 firewall-cmd --add-port=5672/tcp --permanent firewall-cmd --add-port=15672/tcp --permanent # rocketmq端口 firewall-cmd --add-port=9876/tcp --permanent firewall-cmd --add-port=19876/tcp --permanent firewall-cmd --add-port=10911/tcp --permanent # 重启防火墙 service firewalld restart } ##放置挂载文件 mount(){ #挂载 nginx 配置文件 if test ! -f "/docker/nginx/" ;then mkdir -p /docker/nginx/ cp -r nginx/* /docker/nginx fi #挂载 redis 配置文件 if test ! -f "/docker/redis/" ;then mkdir -p /docker/redis/ cp -r redis/* /docker/redis fi #挂载 nacos 配置文件 if test ! -f "/docker/nacos/" ;then mkdir -p /docker/nacos/ cp -r nacos/* /docker/nacos fi #挂载 elk 文件 if test ! -f "/docker/elk/" ;then mkdir -p /docker/elk/ cp -r elk/* /docker/elk fi #挂载 kafka 文件 if test ! -f "/docker/kafka/" ;then mkdir -p /docker/kafka/ cp -r kafka/* /docker/kafka fi #挂载 rabbitmq 文件 if test ! -f "/docker/rabbitmq/" ;then mkdir -p /docker/rabbitmq/ cp -r rabbitmq/data /docker/rabbitmq cp -r rabbitmq/log /docker/rabbitmq fi #挂载 rocketmq 文件 if test ! -f "/docker/rocketmq/" ;then mkdir -p /docker/rocketmq/ cp -r rocketmq/* /docker/rocketmq fi chmod -R 777 /docker } #启动基础模块 base(){ docker-compose up -d mysql nacos seata-server nginx-web redis minio } #启动监控模块 monitor(){ docker-compose up -d ruoyi-monitor sentinel ruoyi-xxl-job-admin } #启动程序模块 start(){ docker-compose up -d ruoyi-gateway ruoyi-auth ruoyi-system ruoyi-resource } #停止程序模块 stop(){ docker-compose stop ruoyi-gateway ruoyi-auth ruoyi-system ruoyi-resource } #关闭所有模块 stopall(){ docker-compose stop } #删除所有模块 rm(){ docker-compose rm } #删除Tag为空的镜像 rmiNoneTag(){ docker images|grep none|awk '{print $3}'|xargs docker rmi -f } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "port") port ;; "mount") mount ;; "base") base ;; "monitor") monitor ;; "start") start ;; "stop") stop ;; "stopall") stopall ;; "rm") rm ;; "rmiNoneTag") rmiNoneTag ;; *) usage ;; esac