#指定使用的 Docker Compose API 版本 version: '3' networks: taphole: driver: bridge ipam: config: - subnet: 172.28.1.0/24 #定义了要运行的服务列表 services: mysql: container_name: taphole-mysql image: mysql:5.7.29 #X86架构 #image: amd64/mysql:5.7.29 #arm架构 # restart: always environment: MYSQL_ROOT_PASSWORD: root #映射宿主机当前目录到容器 volumes: - ./mysql57/initdb:/docker-entrypoint-initdb.d - ./mysql57/data:/var/lib/mysql #数据文件目录挂载 - ./mysql57/conf:/etc/mysql/conf.d #配置文件目录挂载 - ./mysql57/log:/var/log/mysql #日志文件目录挂载 networks: - taphole ports: - "53306:3306" privileged: true #容器启动后执行的命令 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' ] redis: container_name: taphole-redis image: redis:7.0.4 privileged: true # restart: always volumes: - ./redis/data:/data environment: TZ: "Asia/Shanghai" networks: - taphole ports: - "56379:6379" command: redis-server --appendonly yes # zlmediakit: # image: zlmediakit:latest # container_name: taphole-zlmediakit # ports: # - "1935:1935" # RTMP 端口 # - "8000:8000" # HTTP 端口 # - "8554:8554" # RTSP 端口 # - "8083:8083" # WebRTC 端口 # - "18000:80" # HTTP 端口 # volumes: # - ./zlmediakit/config:/opt/zlmediakit/config # 挂载配置文件目录 # - ./zlmediakit/media:/opt/zlmediakit/media # 挂载媒体文件目录 # networks: # taphole: # ipv4_address: 172.28.1.10 webrtc: image: webrtc-streamer:latest container_name: taphole-webrtc stdin_open: true tty: true network_mode: "host" nginx: image: nginx:latest container_name: taphole-nginx volumes: - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf #配置文件目录挂载 - ./nginx/conf/default.conf:/etc/nginx/default.conf #配置文件目录挂载 - ./nginx/html:/etc/nginx/html #静态资源根目录挂载 - ./nginx/logs:/var/log/nginx #日志文件目录挂载 ports: - 15080:80 networks: - taphole app: image: taphole-app:latest container_name: taphole-app # command: java -jar /app/my-springboot-app.jar build: context: . dockerfile: Dockerfile volumes: # - ./target/taphole-admin-1.0.0.jar:/app/my-springboot-app.jar - ./target/loadFFmpeg.properties:/app/loadFFmpeg.properties - /home/xiaofei/taphole/hcsdk/linux:/home/xiaofei/taphole/hcsdk/linux - /home/xiaofei/uploads/taphole/:/home/xiaofei/uploads/taphole/ #映射资源目录 # - /usr/local/ffmpeg/bin:/usr/local/ffmpeg/bin ports: - "28080:8080" - "33000:33000" environment: - PREFER_HOST_MODE=hostname - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/taphole - SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=root - SPRING_REDIS_HOST=redis - SPRING_REDIS_PORT=6379 depends_on: - mysql - redis - webrtc networks: taphole: ipv4_address: 172.28.1.100