version: '3' services: polaris-redis: image: redis:latest # 使用官方Redis镜像 restart: unless-stopped healthcheck: test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] interval: 15s timeout: 5s retries: 10 start_period: 10s networks: - media-net # ports: # - 6379:6379 volumes: - ./redis/conf/redis.conf:/opt/polaris/redis/redis.conf - ./volumes/redis/data/:/data environment: TZ: "Asia/Shanghai" command: redis-server /opt/polaris/redis/redis.conf --appendonly yes polaris-mysql: image: mysql:8 # 使用官方MySQL 8镜像 restart: unless-stopped healthcheck: test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/3306" ] interval: 15s timeout: 5s retries: 10 start_period: 10s networks: - media-net environment: MYSQL_DATABASE: wvp MYSQL_ROOT_PASSWORD: root MYSQL_USER: wvp_user MYSQL_PASSWORD: wvp_password TZ: Asia/Shanghai # ports: # - 3306:3306 volumes: - ./mysql/conf:/etc/mysql/conf.d - ./logs/mysql:/logs - ./volumes/mysql/data:/var/lib/mysql - ../数据库/2.7.4/初始化-mysql-2.7.4.sql:/docker-entrypoint-initdb.d/init.sql # 初始化SQL脚本目录 command: [ # '--default-authentication-plugin=mysql_native_password', '--innodb-buffer-pool-size=80M', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_general_ci', '--default-time-zone=+8:00', '--lower-case-table-names=1' ] polaris-media: image: zlmediakit/zlmediakit:master # 替换为官方镜像 restart: always networks: - media-net ports: - "10935:10935" - "5540:5540" - "6080:6080" volumes: - ./volumes/video:/opt/media/www/record/ - ./logs/media:/opt/media/log/ - ./media/config.ini:/conf/config.ini command: [ 'MediaServer', '-c', '/conf/config.ini', '-l', '0' ] polaris-wvp: # 显式指定构建上下文和Dockerfile路径 build: context: .. # 构建上下文的根路径 dockerfile: ./docker/wvp/Dockerfile # 相对于上下文路径的Dockerfile位置 restart: always networks: - media-net ports: - "18978:18978" - "8116:8116/udp" - "8116:8116/tcp" depends_on: - polaris-redis - polaris-mysql - polaris-media links: - polaris-redis - polaris-mysql - polaris-media volumes: - ./wvp/wvp/:/opt/ylcx/wvp/ - ./logs/wvp:/opt/wvp/logs/ environment: TZ: "Asia/Shanghai" # 本机的IP SIP_HOST: 127.0.0.1 STREAM_HOST: 127.0.0.1 ZLM_HOST: polaris-media ZLM_PORT: 6080 ZLM_SERCERT: su6TiedN2rVAmBbIDX0aa0QTiBJLBdcf REDIS_HOST: polaris-redis REDIS_PORT: 6379 DATABASE_HOST: polaris-mysql DATABASE_PORT: 3306 DATABASE_USER: wvp_user DATABASE_PASSWORD: wvp_password # 前端跨域配置,nginx容器所在物理机IP NGINX_HOST: http://127.0.0.1:8080 polaris-nginx: # 显式指定构建上下文和Dockerfile路径 build: context: .. # 构建上下文的根路径 dockerfile: ./docker/nginx/Dockerfile # 相对于上下文路径的Dockerfile位置 ports: - "8080:8080" depends_on: - polaris-wvp links: - polaris-wvp environment: WVP_HOST: polaris-wvp WVP_PORT: 18978 volumes: - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf - ./logs/nginx:/var/log/nginx networks: - media-net networks: media-net: driver: bridge