version: "3.8" services: # 独角数卡应用 dujiaoka: build: context: . dockerfile: Dockerfile # platform: linux/amd64 # 确保使用amd64架构 container_name: dujiaoka_app ports: - "9595:80" volumes: # 环境配置文件 - ./.env:/var/www/html/.env:ro # 上传文件持久化 - ./storage/app/public:/var/www/html/storage/app/public - ./public/uploads:/var/www/html/public/uploads # 日志持久化 - ./logs:/var/log environment: # 数据库配置 DB_PORT: 3306 DB_DATABASE: dujiaoka DB_USERNAME: root DB_PASSWORD: ${DB_PASSWORD} # Redis配置 REDIS_PORT: 6379 REDIS_PASSWORD: ${REDIS_PASSWORD} # 应用配置 APP_URL: http://127.0.0.1:9595 APP_ENV: production APP_DEBUG: false # 其他配置 TZ: Asia/Shanghai #这个相当于给本地地址加入电话簿,如果有desktop软件的话,默认就有了 #这一行相当于将本机地址手动加入host电话簿 extra_hosts: - "host.docker.internal:host-gateway" #注意:这里是使用,下边的是声明 networks: - dujiaoka_network - bepusdt_default - novelapi restart: unless-stopped #这个功能好 healthcheck: test: ["CMD", "curl", "-f", "http://localhost"] interval: 30s timeout: 10s retries: 3 # 数据库初始化服务 (可选) # db-init: # image: mysql:8.0 # container_name: dujiaoka_db_init # environment: # MYSQL_HOST: host.docker.internal # MYSQL_PORT: 3306 # MYSQL_DATABASE: dujiaoka # MYSQL_USER: root # MYSQL_PASSWORD: ${DB_PASSWORD} # volumes: # - ./database/init:/docker-entrypoint-initdb.d:ro # profiles: # - db-init # networks: # - dujiaoka_network #声明,这里还要多一个network声明,然后让我们能找到 networks: dujiaoka_network: driver: bridge bepusdt_default: external: true novelapi: external: true name: novel-resource-management_novel-network # volumes: # dujiaoka_uploads: # driver: local # dujiaoka_logs: # driver: local