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