version: '3.8' services: mysql: image: mysql:8.0 container_name: bid-mysql environment: MYSQL_ROOT_PASSWORD: bid123456@ MYSQL_DATABASE: ry-vue MYSQL_CHARACTER_SET_SERVER: utf8mb4 MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci volumes: - bid-mysql-data:/var/lib/mysql - ./init-sql/02-ry-vue.sql:/docker-entrypoint-initdb.d/02-ry-vue.sql:ro - ./init-sql/03-bid-tables.sql:/docker-entrypoint-initdb.d/03-bid-tables.sql:ro networks: - bid-net restart: unless-stopped healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-pbid123456@"] interval: 10s timeout: 5s retries: 15 redis: image: redis:7-alpine container_name: bid-redis command: redis-server --requirepass bid123456@ networks: - bid-net restart: unless-stopped backend: image: openjdk:8-jre-slim container_name: bid-backend working_dir: /app command: java -Djava.security.egd=file:/dev/./urandom -jar app.jar --spring.profiles.active=druid,prod volumes: - ./ruoyi-admin.jar:/app/app.jar:ro depends_on: mysql: condition: service_healthy redis: condition: service_started environment: - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true - SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=bid123456@ - SPRING_REDIS_HOST=redis - SPRING_REDIS_PASSWORD=bid123456@ - SPRING_REDIS_PORT=6379 networks: - bid-net restart: unless-stopped nginx: image: nginx:alpine container_name: bid-nginx ports: - '10031:80' volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro - ./dist-ui:/usr/share/nginx/html:ro depends_on: - backend networks: - bid-net restart: unless-stopped volumes: bid-mysql-data: networks: bid-net: driver: bridge