feat app 模块化启动

This commit is contained in:
2025-12-13 18:22:35 +08:00
parent 71d4e593c7
commit bc656247c9
41 changed files with 730 additions and 253 deletions

6
Public/Publish/cmd.txt Normal file
View File

@@ -0,0 +1,6 @@
docker compose -p db -f docker-compose-db.yml up -d
docker compose -p tool -f docker-compose-tool.yml up -d
chown -R 1000:1000 jenkins/
ssh -L 2379:localhost:2379 root@47.108.184.184

View File

@@ -0,0 +1,31 @@
services:
mysql:
image: mysql:latest
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: gR9pV4tY7zR6qL3e
TZ: Asia/Shanghai
ports:
- "3306:3306"
volumes:
- ./db/mysql:/var/lib/mysql
redis:
image: redis:latest
container_name: redis
restart: always
ports:
- "6379:6379"
volumes:
- ./db/redis:/data
command: redis-server --requirepass lQ7aM8oB6lK0iD5k
etcd:
image: bitnami/etcd:latest
container_name: etcd
restart: always
ports:
- "2379:2379"
environment:
ALLOW_NONE_AUTHENTICATION: "yes"

View File

@@ -0,0 +1,26 @@
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
command: "--prefix=/jenkins"
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./jenkins:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
environment:
- TZ=Asia/Shanghai
nginx:
image: nginx:alpine
container_name: nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d:ro
- ./nginx/html:/var/www/html
- ./nginx/certs:/etc/nginx/certs:ro

View File

@@ -1,81 +0,0 @@
version: '3.8'
services:
# ETCD 分布式键值存储
etcd:
image: quay.io/coreos/etcd:v3.5.4
container_name: etcd
ports:
- "2379:2379" # 客户端连接端口
- "2380:2380" # 节点通信端口
environment:
ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"
ETCD_LISTEN_PEER_URLS: "http://0.0.0.0:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS: "http://etcd:2380"
ETCD_NAME: "etcd-single"
ETCD_INITIAL_CLUSTER: "etcd-single=http://etcd:2380"
ETCD_INITIAL_CLUSTER_TOKEN: "etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE: "new"
volumes:
- etcd-data:/etcd-data
networks:
- app-network
# Redis 缓存数据库
redis:
image: redis:7.0-alpine
container_name: redis
ports:
- "6379:6379"
volumes:
- redis-data:/data
networks:
- app-network
command: redis-server --save 60 1 --loglevel warning
# MySQL 数据库
mysql:
image: mysql:8.0
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: rootpassword # 请更改为强密码
MYSQL_DATABASE: app_db
MYSQL_USER: app_user
MYSQL_PASSWORD: userpassword # 请更改为强密码
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
- ./mysql-init:/docker-entrypoint-initdb.d # 初始化SQL脚本目录
networks:
- app-network
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 5s
timeout: 10s
retries: 5
# ETCD 可视化界面 (Web UI)
etcd-viewer:
image: deltaprojects/etcdkeeper:latest
container_name: etcd-viewer
ports:
- "8080:8080"
environment:
ETCD_HOST: etcd
ETCD_PORT: 2379
networks:
- app-network
depends_on:
- etcd
# 数据卷声明
volumes:
etcd-data:
redis-data:
mysql-data:
# 网络配置
networks:
app-network:
driver: bridge