docker安装视频平台wvp-pro教程
前言
安装环境:ubuntu22.04
Docker下安装ZLMediaKit教程地址:docker安装ZLMediaKit教程
ZLMediaKit容器中安装Open JDK 11教程:ZLMediakit 容器中安装open jdk 11
ZLMediakit容器中部署wvp辅助录像程序教程:ZLMediaKit容器中部署wvp-pro-assist
1. 本地新建docker-compose.yml
推荐使用vscode来编辑yml文件!!!
首先安装redis和mysql服务
version: '3'
services: redis: image: redis container_name: wvp_redis privileged: true restart: always ports: - "16379:6379" volumes: - /home/wvp/redis/redis.conf:/etc/redis/redis_default.conf - /home/wvp/redis/data:/data - /home/wvp/redis/logs:/logs environment: TZ: "Asia/Shanghai" command: redis-server /etc/redis/redis_default.conf mysql: container_name: wvp_mysql image: mysql:5.7.34 restart: always ports: - "13306:3306" volumes: - /home/wvp/mysql/data:/var/lib/mysql - /home/wvp/mysql/conf/my.cnf:/etc/my.cnf - /home/wvp/mysql/logs:/var/log/mysql environment: MYSQL_DATABASE: wvp MYSQL_ROOT_PASSWORD: root123 TZ: Asia/Shanghai
|
redis服务中:
- 端口
6379
映射到了宿主机16379
volumes
中将redis的conf配置文件,data数据文件以及logs日志文件映射到了宿主机对应的目录下
mysql服务中:
- 端口
3306
映射到了宿主机13306
端口,后续用Navicat连接此数据库初始化wvp需要的数据表
volumes
中将log日志文件和配置文件my.cnf以及data文件都挂载到了宿主机
environment
中设置了database为wvp并且设置了mysql root密码为root123
2. 创建mysql配置文件my.cnf
mkdir -p /home/wvp/mysql/conf/
vim /home/wvp/mysql/conf/my.cnf
|
复制下面的内容到配置文件中
[mysqld] lower_case_table_names=1 user=mysql default-storage-engine=INNODB character-set-server=utf8mb4 character-set-client-handshake=FALSE collation-server=utf8mb4_general_ci sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4
|
3. 将docker-compose文件上传到服务器
mkdir -p /opt/docker/wvp
cd /opt/docker/wvp
rz
ls
|
4. 安装mysql和redis
cd /opt/docker/wvp
docker-compose up -d
docker-compose logs -f
|
5. 验证是否安装成功
输出如下则安装成功
6. 使用Navicat连接数据库
连接成功后,找到wvp数据库,然后导入wvp-pro的sql文件。SQL文件地址:点击查看
7. 修改wvp pro的配置文件application-dev.yml
完整的application-dev.yml
配置文件地址:点击查看
datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://192.168.182.131:13306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false username: root password: root123
redis: host: 192.168.182.131 port: 16379
media: id: vm-ubutun ip: 192.168.182.131 stream-ip: 112.25.253.x sdp-ip: 112.25.253.x http-port: 89 secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc rtp: enable: true port-range: 30000,30500 send-port-range: 30000,30500 record-assist-port: 18081
|
8. 上传wvp-pro的jar包和配置文件
可执行Jar包下载地址:点击下载
mkdir -p /home/wvp/wvpsoft
cd /home/wvp/wvpsoft
rz
ls
|
9. 继续编写docker-compose.yml文件
编写完成后整个配置文件如下
version: '3'
services: redis: image: redis container_name: wvp_redis privileged: true restart: always ports: - "16379:6379" volumes: - /home/wvp/redis/redis.conf:/etc/redis/redis_default.conf - /home/wvp/redis/data:/data - /home/wvp/redis/logs:/logs environment: TZ: "Asia/Shanghai" command: redis-server /etc/redis/redis_default.conf mysql: container_name: wvp_mysql image: mysql:5.7.34 restart: always ports: - "13306:3306" volumes: - /home/wvp/mysql/data:/var/lib/mysql - /home/wvp/mysql/conf/my.cnf:/etc/my.cnf - /home/wvp/mysql/logs:/var/log/mysql environment: MYSQL_DATABASE: wvp MYSQL_ROOT_PASSWORD: root123 TZ: Asia/Shanghai wvp-pro: container_name: wvp_pro image: java:8 privileged: true restart: always environment: TZ: Asia/Shanghai ports: - "5060:5060" - "5060:5060/udp" - "18080:18080" volumes: - /home/wvp/wvpsoft/wvp.jar:/usr/local/wvp/wvp.jar - /home/wvp/wvpsoft/application-dev.yml:/usr/local/wvp/application.yml - /home/wvp/wvpsoft/logs:/usr/local/wvp/logs command: [ "java", "-jar", "-Xmx512m", "-Xms256m", "-XX:+HeapDumpOnOutOfMemoryError", "-XX:HeapDumpPath=/usr/local/wvp/heapdump/", "-Djava.security.egd=file:/dev/./urandom", "/usr/local/wvp/wvp.jar", "--spring.config.location=/usr/local/wvp/application.yml" ]
|
这里把jar文件和配置文件直接挂载到了容器,最后再command中调整jvm参数,启动wvp-pro,最后可以通过下面命令查看wvp_pro的日志
如果要查看其它容器的日志把 wvp_pro替换为其它容器的名称即可。
结束语
这里部署了三个容器分别是redis和mysql以及wvp_pro,但是没有部署前端UI,因为前端UI我单独部署的。后续会出相应的部署教程,敬请期待…