123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- #指定使用的 Docker Compose API 版本
- version: '3'
- networks:
- taphole:
- driver: bridge
- ipam:
- config:
- - subnet: 172.28.1.0/24
- #定义了要运行的服务列表
- services:
- # maven:
- # container_name: taphole-java-maven
- # image: maven:3.8.6-openjdk-8
- # # restart: always
- # tty: true
- # working_dir: /taphole_java/server
- # volumes:
- # - ./server:/taphole_java/server
- # networks:
- # - taphole
- # ports:
- # - "58080:28080"
- # command: bash
- # depends_on:
- # - mysql
- # - redis
- # - zlmediakit
- 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
- # node:
- # container_name: taphole-node
- # image: node:14.18.1
- # # restart: always
- # volumes:
- # - ./node/admin:/taphole_node/admin
- # networks:
- # - taphole
- # tty: true
- # working_dir: /taphole_node/admin
- # ports:
- # - "55173:5173"
- 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
- # zlmediakit:
- # container_name: taphole-zlmediakit
- # image: zlmediakit:latest
- # # restart: always
- # volumes:
- # - ./zlmediakit/logs:/opt/media/bin/log
- # - ./zlmediakit/data/www:/opt/media/bin/www
- # - ./zlmediakit/conf/config.ini:/opt/media/conf/config.ini
- # - ./zlmediakit/conf/default.pem:/opt/media/bin/default.pem
- # expose:
- # - "80"
- # - "443"
- # - "554"
- # - "1935"
- # ports:
- # - "51935:1935"
- # - "58082:80"
- # - "58443:443"
- # - "58554:554"
- # - "50000:10000"
- # - "50000:10000/udp"
- # - "5000:8000/udp"
- # - "59000:9000/udp"
- # - "50000-50500:30000-30500"
- # - "50000-50500:30000-30500/udp"
- # networks:
- # - taphole
- 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
- - zlmediakit
- networks:
- taphole:
- ipv4_address: 172.28.1.100
|