From 9e944f3053eed6d606f3d18b262e0abd34fc2598 Mon Sep 17 00:00:00 2001 From: caiyuchao Date: Wed, 30 Jul 2025 16:54:23 +0800 Subject: [PATCH] init project --- .gitignore | 4 +++ agt/dockerfile | 15 ++++++++++ agt/jar/readme.txt | 1 + docker-compose.yml | 65 +++++++++++++++++++++++++++++++++++++++++++ mysql/db/readme.txt | 1 + mysql/dockerfile | 7 +++++ nginx/conf/nginx.conf | 41 +++++++++++++++++++++++++++ nginx/dockerfile | 15 ++++++++++ nginx/html/readme.txt | 1 + redis/conf/redis.conf | 1 + redis/dockerfile | 13 +++++++++ start.sh | 46 ++++++++++++++++++++++++++++++ 12 files changed, 210 insertions(+) create mode 100644 .gitignore create mode 100644 agt/dockerfile create mode 100644 agt/jar/readme.txt create mode 100644 docker-compose.yml create mode 100644 mysql/db/readme.txt create mode 100644 mysql/dockerfile create mode 100644 nginx/conf/nginx.conf create mode 100644 nginx/dockerfile create mode 100644 nginx/html/readme.txt create mode 100644 redis/conf/redis.conf create mode 100644 redis/dockerfile create mode 100644 start.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..849ecdc --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ + +# 查看更多 .gitignore 配置 -> https://help.github.com/articles/ignoring-files/ +/agt/jar/agt-server.jar +/nginx/html/dist/ diff --git a/agt/dockerfile b/agt/dockerfile new file mode 100644 index 0000000..4db5079 --- /dev/null +++ b/agt/dockerfile @@ -0,0 +1,15 @@ +# 基础镜像 +FROM openjdk:17 +# author +MAINTAINER agt + +# 挂载目录 +VOLUME /home/agt +# 创建目录 +RUN mkdir -p /home/agt +# 指定路径 +WORKDIR /home/agt +# 复制jar文件到路径 +COPY ./jar/agt-server.jar /home/agt/agt-server.jar +# 启动系统服务 +ENTRYPOINT ["java","-jar","agt-server.jar"] diff --git a/agt/jar/readme.txt b/agt/jar/readme.txt new file mode 100644 index 0000000..cfc2a92 --- /dev/null +++ b/agt/jar/readme.txt @@ -0,0 +1 @@ +ϵͳģõjarļdockerӦá \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..bf71836 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,65 @@ +version : '3.8' +services: + agt-mysql: + container_name: agt-mysql + image: mysql:5.7 + build: + context: ./mysql + ports: + - "3306:3306" + volumes: + - ./mysql/conf:/etc/mysql/conf.d + - ./mysql/logs:/logs + - ./mysql/data:/var/lib/mysql + command: [ + 'mysqld', + '--innodb-buffer-pool-size=80M', + '--character-set-server=utf8mb4', + '--collation-server=utf8mb4_unicode_ci', + '--default-time-zone=+8:00', + '--lower-case-table-names=1' + ] + environment: + MYSQL_DATABASE: 'agt-cloud' + MYSQL_ROOT_PASSWORD: 123456 + agt-redis: + container_name: agt-redis + image: redis + build: + context: ./redis + ports: + - "6379:6379" + volumes: + - ./redis/conf/redis.conf:/home/agt/redis/redis.conf + - ./redis/data:/data + command: redis-server /home/agt/redis/redis.conf + agt-nginx: + container_name: agt-nginx + image: nginx + build: + context: ./nginx + ports: + - "80:80" + volumes: + - ./nginx/html/dist:/home/agt/html + - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf + - ./nginx/logs:/var/log/nginx + - ./nginx/conf.d:/etc/nginx/conf.d + agt-server: + container_name: agt-server + build: + context: ./agt + dockerfile: dockerfile + ports: + - "48080:48080" + environment: + - SPRING_PROFILES_ACTIVE=test + depends_on: + - agt-redis + - agt-mysql + volumes: + - /usr/local/licGen/log/:/usr/local/licGen/log/ + links: + - agt-redis + - agt-mysql + diff --git a/mysql/db/readme.txt b/mysql/db/readme.txt new file mode 100644 index 0000000..0b22f3f --- /dev/null +++ b/mysql/db/readme.txt @@ -0,0 +1 @@ +sqlĿ¼µнűdockerԶִС \ No newline at end of file diff --git a/mysql/dockerfile b/mysql/dockerfile new file mode 100644 index 0000000..35710d3 --- /dev/null +++ b/mysql/dockerfile @@ -0,0 +1,7 @@ +# 基础镜像 +FROM mysql:5.7 +# author +MAINTAINER ruoyi + +# 执行sql脚本 +#ADD ./db/*.sql /docker-entrypoint-initdb.d/ diff --git a/nginx/conf/nginx.conf b/nginx/conf/nginx.conf new file mode 100644 index 0000000..a48b49d --- /dev/null +++ b/nginx/conf/nginx.conf @@ -0,0 +1,41 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + + server { + listen 80; + server_name localhost; + + location / { + root /home/agt/html; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location /admin-api { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://192.168.9.50:48080/admin-api; + } + + # 避免actuator暴露 + if ($uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} diff --git a/nginx/dockerfile b/nginx/dockerfile new file mode 100644 index 0000000..ad0c4d2 --- /dev/null +++ b/nginx/dockerfile @@ -0,0 +1,15 @@ +# 基础镜像 +FROM nginx +# author +MAINTAINER agt + +# 挂载目录 +VOLUME /home/agt/html +# 创建目录 +RUN mkdir -p /home/agt/html +# 指定路径 +WORKDIR /home/agt/html +# 复制conf文件到路径 +COPY ./conf/nginx.conf /etc/nginx/nginx.conf +# 复制html文件到路径 +COPY ./html/dist /home/agt/html diff --git a/nginx/html/readme.txt b/nginx/html/readme.txt new file mode 100644 index 0000000..cfc2a92 --- /dev/null +++ b/nginx/html/readme.txt @@ -0,0 +1 @@ +ϵͳģõjarļdockerӦá \ No newline at end of file diff --git a/redis/conf/redis.conf b/redis/conf/redis.conf new file mode 100644 index 0000000..d762d65 --- /dev/null +++ b/redis/conf/redis.conf @@ -0,0 +1 @@ +# requirepass 123456 \ No newline at end of file diff --git a/redis/dockerfile b/redis/dockerfile new file mode 100644 index 0000000..05c2bc4 --- /dev/null +++ b/redis/dockerfile @@ -0,0 +1,13 @@ +# 基础镜像 +FROM redis +# author +MAINTAINER ruoyi + +# 挂载目录 +VOLUME /home/ruoyi/redis +# 创建目录 +RUN mkdir -p /home/ruoyi/redis +# 指定路径 +WORKDIR /home/ruoyi/redis +# 复制conf文件到路径 +COPY ./conf/redis.conf /home/ruoyi/redis/redis.conf diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..4763cf1 --- /dev/null +++ b/start.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +[ -z "$2"] && branch='main' || branch=$2 + +# 使用说明,用来提示输入参数 +usage() { + echo "Usage: sh start.sh [system|user|auth]" + exit 1 +} + +common(){ + cd .. + git checkout $branch + git pull + mvn clean package -Dmaven.test.skip=true -P test + cd docker +} + +# 启动程序模块(必须) +backend(){ + echo "begin copy agt-server " + sudo docker stop agt-server + sudo docker rm agt-server + sudo docker rmi deploy_agt-server + docker-compose up -d agt-server +} + + +# 根据输入参数,选择执行对应方法,不输入则执行使用说明 +case "$1" in +"backend") + backend +;; +"user") + user +;; +"stop") + stop +;; +"rm") + rm +;; +*) + usage +;; +esac