Files

144 lines
4.2 KiB
YAML
Raw Permalink Normal View History

2026-06-10 15:38:37 +08:00
services:
2026-06-12 11:48:17 +08:00
web:
2026-06-10 15:38:37 +08:00
build:
2026-06-12 11:48:17 +08:00
context: /mydata/docker/piaowu
dockerfile: /mydata/docker/piaowu/Dockerfile
image: piaowu:1.0
container_name: piaowu
2026-06-10 15:38:37 +08:00
ports:
- "1024:1024"
environment:
- TZ=Asia/Shanghai
2026-06-12 11:48:17 +08:00
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/piaowu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
2026-06-10 15:38:37 +08:00
- SPRING_DATASOURCE_USERNAME=root
2026-06-12 11:48:17 +08:00
- SPRING_DATASOURCE_PASSWORD=P2i0a2o6w@u
- SPRING_REDIS_HOST=piaowuredis
- SPRING_REDIS_PASSWORD=Rds234!@$
2026-06-10 15:38:37 +08:00
volumes:
2026-06-12 11:48:17 +08:00
- /mydata/docker/piaowu/piaowu.jar:/app/piaowu.jar # jar 包挂载
- /mydata/docker/piaowu/www:/app/upload/www # 前端文件挂载
- /mydata/docker/piaowu/upload:/app/upload/piaowu
- /mydata/docker/piaowu/upload/json:/app/upload/json
- /mydata/docker/piaowu/upload/logs:/app/upload/logs
2026-06-10 15:38:37 +08:00
networks:
2026-06-12 11:48:17 +08:00
- piaowunet
2026-06-10 15:38:37 +08:00
restart: on-failure:3
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
redis:
image: redis
2026-06-12 11:48:17 +08:00
container_name: piaowuredis
2026-06-10 15:38:37 +08:00
volumes:
2026-06-12 11:48:17 +08:00
- redis-data-piaowu:/data/redis
command: redis-server --appendonly yes --requirepass Rds234!@$ --loglevel warning
2026-06-10 15:38:37 +08:00
environment:
- TZ=Asia/Shanghai
networks:
2026-06-12 11:48:17 +08:00
- piaowunet
2026-06-10 15:38:37 +08:00
restart: unless-stopped
healthcheck:
2026-06-12 11:48:17 +08:00
test: ["CMD", "redis-cli", "-a", "Rds234!@$", "ping"]
2026-06-10 15:38:37 +08:00
timeout: 3s
retries: 5
mysql:
image: mysql:8.0
2026-06-12 11:48:17 +08:00
container_name: piaowumysql
2026-06-10 15:38:37 +08:00
ports:
2026-06-12 11:48:17 +08:00
- "3309:3306" # ✅ 已支持远程访问(端口映射)
2026-06-10 15:38:37 +08:00
environment:
2026-06-12 11:48:17 +08:00
- MYSQL_ROOT_PASSWORD=P2i0a2o6w@u
2026-06-10 15:38:37 +08:00
- TZ=Asia/Shanghai
2026-06-12 11:48:17 +08:00
- MYSQL_DATABASE=piaowu
2026-06-10 15:38:37 +08:00
- MYSQL_CHARSET=utf8mb4
- MYSQL_COLLATION=utf8mb4_unicode_ci
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --explicit_defaults_for_timestamp=1
- --skip-name-resolve
- --bind-address=0.0.0.0 # ✅ 关键:允许远程连接
volumes:
- ./mysql/sql:/docker-entrypoint-initdb.d # 初始化脚本
2026-06-12 11:48:17 +08:00
- mysql-data-piaowu:/var/lib/mysql # ✅ 关键:数据持久化卷
2026-06-10 15:38:37 +08:00
- ./mysql/conf:/etc/mysql/conf.d # 自定义配置目录
networks:
2026-06-12 11:48:17 +08:00
- piaowunet
2026-06-10 15:38:37 +08:00
restart: unless-stopped
healthcheck:
2026-06-12 11:48:17 +08:00
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-pP2i0a2o6w@u"]
2026-06-10 15:38:37 +08:00
timeout: 10s
retries: 10
start_period: 30s
nginx:
image: nginx:alpine
2026-06-12 11:48:17 +08:00
container_name: piaowunginx
2026-06-10 15:38:37 +08:00
ports:
- "8089:80"
volumes:
- ./www:/usr/share/nginx/html:ro
- ./nginx.conf:/etc/nginx/nginx.conf:ro
networks:
2026-06-12 11:48:17 +08:00
- piaowunet
2026-06-10 15:38:37 +08:00
restart: unless-stopped
depends_on:
2026-06-12 11:48:17 +08:00
- web
2026-06-10 15:38:37 +08:00
gitea:
2026-06-12 11:48:17 +08:00
image: gitea/gitea
container_name: piaowugitea
2026-06-10 15:38:37 +08:00
ports:
2026-06-12 11:48:17 +08:00
- "3000:3000" # Web 访问端口
- "222:22" # SSH 端口(避免与服务器 SSH 22 端口冲突)
2026-06-10 15:38:37 +08:00
environment:
- TZ=Asia/Shanghai
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
2026-06-12 11:48:17 +08:00
- GITEA__database__HOST=mysql:3306
2026-06-10 15:38:37 +08:00
- GITEA__database__NAME=gitea
- GITEA__database__USER=root
2026-06-14 18:42:30 +08:00
- GITEA__database__PASSWD=P2i0a2o6w@u
2026-06-10 15:38:37 +08:00
volumes:
2026-06-12 11:48:17 +08:00
- gitea-data-piaowu:/data/gitea
2026-06-10 15:38:37 +08:00
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
2026-06-12 11:48:17 +08:00
- piaowunet
2026-06-10 15:38:37 +08:00
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
2026-06-16 08:38:59 +08:00
jenkins:
image: jenkins/jenkins:lts
container_name: piaowujenkins
ports:
- "3001:8080" # Web 访问端口
- "50000:50000" # Agent 通信端口
environment:
- TZ=Asia/Shanghai
volumes:
- jenkins-data-piaowu:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock # 允许 Jenkins 内调用 docker
- /mydata/docker/suanfa/www:/app/www
networks:
- piaowunet
restart: unless-stopped
2026-06-10 15:38:37 +08:00
volumes:
2026-06-16 08:38:59 +08:00
jenkins-data-piaowu: {} # Jenkins 数据持久化
2026-06-12 11:48:17 +08:00
redis-data-piaowu: {} # 空对象表示使用默认配置
mysql-data-piaowu: {} # 空对象表示使用默认配置
gitea-data-piaowu: {} # Gitea 数据持久化
2026-06-10 15:38:37 +08:00
networks:
2026-06-12 11:48:17 +08:00
piaowunet:
2026-06-10 15:38:37 +08:00
driver: bridge