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