add 增加 docker 编排 与 shell 脚本
This commit is contained in:
parent
61e2a60438
commit
80e74eb91c
|
@ -0,0 +1,84 @@
|
|||
#!/bin/bash
|
||||
|
||||
#使用说明,用来提示输入参数
|
||||
usage() {
|
||||
echo "Usage: sh 执行脚本.sh [port|mount|base|start|stop|stopall|rm|rmiNoneTag]"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#开启所需端口
|
||||
port(){
|
||||
firewall-cmd --add-port=3306/tcp --permanent
|
||||
firewall-cmd --add-port=6379/tcp --permanent
|
||||
service firewalld restart
|
||||
}
|
||||
|
||||
##放置挂载文件
|
||||
mount(){
|
||||
#挂载配置文件
|
||||
if test ! -f "/docker/nginx/nginx.conf" ;then
|
||||
mkdir -p /docker/nginx
|
||||
cp nginx/nginx.conf /docker/nginx/nginx.conf
|
||||
fi
|
||||
}
|
||||
|
||||
#启动基础模块
|
||||
base(){
|
||||
docker-compose up -d mysql nginx-web redis
|
||||
}
|
||||
|
||||
#启动程序模块
|
||||
start(){
|
||||
docker-compose up -d ruoyi-admin
|
||||
}
|
||||
|
||||
#停止程序模块
|
||||
stop(){
|
||||
docker-compose stop ruoyi-admin
|
||||
}
|
||||
|
||||
#关闭所有模块
|
||||
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
|
||||
;;
|
||||
"start")
|
||||
modules
|
||||
;;
|
||||
"stop")
|
||||
stopmodules
|
||||
;;
|
||||
"stopall")
|
||||
stop
|
||||
;;
|
||||
"rm")
|
||||
rm
|
||||
;;
|
||||
"rmiNoneTag")
|
||||
rmiNoneTag
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,94 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.0.24
|
||||
container_name: mysql
|
||||
environment:
|
||||
# 时区上海
|
||||
TZ: Asia/Shanghai
|
||||
# root 密码
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
# 初始化数据库(后续的初始化sql会在这个库执行)
|
||||
MYSQL_DATABASE: ry-vue
|
||||
ports:
|
||||
- 3306:3306
|
||||
volumes:
|
||||
# 数据挂载
|
||||
- /docker/mysql/data/:/var/lib/mysql/
|
||||
# 配置挂载
|
||||
- /docker/mysql/conf/:/etc/mysql/conf.d/
|
||||
# 初始化目录挂载
|
||||
- /docker/mysql/init/:/docker-entrypoint-initdb.d/
|
||||
command:
|
||||
# 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)
|
||||
--default-authentication-plugin=mysql_native_password
|
||||
--character-set-server=utf8mb4
|
||||
--collation-server=utf8mb4_general_ci
|
||||
--explicit_defaults_for_timestamp=true
|
||||
--lower_case_table_names=1
|
||||
privileged: true
|
||||
restart: always
|
||||
networks:
|
||||
ruoyi_net:
|
||||
ipv4_address: 172.30.0.36
|
||||
|
||||
nginx-web:
|
||||
# 如果需要指定版本 就把 latest 换成版本号
|
||||
image: nginx:latest
|
||||
container_name: nginx-web
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
# 证书映射
|
||||
- /docker/nginx/cert:/etc/nginx/cert
|
||||
# 配置文件映射
|
||||
- /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
|
||||
# 页面目录
|
||||
- /docker/nginx/html:/usr/share/nginx/html
|
||||
# 日志目录
|
||||
- /docker/nginx/log:/var/log/nginx
|
||||
# 主机本机时间文件映射 与本机时间同步
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
privileged: true
|
||||
restart: always
|
||||
networks:
|
||||
- ruoyi_net
|
||||
|
||||
redis:
|
||||
image: redis:6.0.9
|
||||
container_name: redis
|
||||
ports:
|
||||
- 6379:6379
|
||||
environment:
|
||||
# 设置环境变量 时区上海 编码UTF-8
|
||||
TZ: Asia/Shanghai
|
||||
LANG: en_US.UTF-8
|
||||
volumes:
|
||||
# 配置文件
|
||||
- /docker/redis/conf/redis.conf:/redis.conf:rw
|
||||
# 数据文件
|
||||
- /docker/redis/data:/data:rw
|
||||
command: "redis-server --appendonly yes"
|
||||
privileged: true
|
||||
restart: always
|
||||
networks:
|
||||
ruoyi_net:
|
||||
ipv4_address: 172.30.0.48
|
||||
|
||||
ruoyi-admin:
|
||||
image: "${REGISTER}/ruoyi-admin:${TAG}"
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
privileged: true
|
||||
restart: always
|
||||
networks:
|
||||
- ruoyi_net
|
||||
|
||||
networks:
|
||||
ruoyi_net:
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.30.0.0/16
|
Loading…
Reference in New Issue