From 80e74eb91c08fc1d774d1274323546d5ce592455 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期二, 06 七月 2021 13:48:06 +0800
Subject: [PATCH] add 增加 docker 编排 与 shell 脚本
---
docker/docker-compose.yml | 94 +++++++++++++++++++++++++++++++
docker/deploy.sh | 84 ++++++++++++++++++++++++++++
2 files changed, 178 insertions(+), 0 deletions(-)
diff --git a/docker/deploy.sh b/docker/deploy.sh
new file mode 100644
index 0000000..bbfdaf4
--- /dev/null
+++ b/docker/deploy.sh
@@ -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
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
new file mode 100644
index 0000000..0da3032
--- /dev/null
+++ b/docker/docker-compose.yml
@@ -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:
+ # 灏唌ysql8.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
--
Gitblit v1.9.3