1. 加载镜像
镜像是当前目录下的 gb_image.tgz 文件,镜像太大,git 放不下,我放到了了私有 docker 仓库(127.0.0.1:5000/wuhy/wvp_gb:v1.0)
docker load -i gb_image.tgz
查询上一步添加的镜像的 id,输入下面的命令
docker image ls
修改镜像名称和标签
docker tag 镜像ID wvp_gb:1.0
2. 创建网络
创建 my_network docker 网络,gb 相关的所有服务都会跑到这个服务里面
docker network create \
--driver=bridge \
--subnet=172.28.0.0/16 \
--ip-range=172.28.0.0/24 \
--gateway=172.28.0.1 \
my_network
3. 启动数据库
这里提供 mysql 和 postgre 两种数据库。mysql 比较通用,postgre 比较轻量,对于运行内存比较小的设备推荐使用 postgre。
mysql
docker-compose 配置存储在目录 mysql 里面,如果是第一次创建,需要进入容器里面创建数据库 wvp2,并且初始化数据表(数据表配置文件"./database_config/始化-mysql-2.7.0.sql")
cd mysql
docker-compose up -d
# 下面可选,这个仓库我已经配置好了,不需要操作
docker ps # 查询 mysql 容器 ID
docker exec -it mysql容器ID /bin/bash
mysql -u root -p # 输入密码登陆数据库
CREATE DATABASE wvp2; # 创建数据库 wvp2
USE wvp2; # 选择数据库
# 然后将 “始化-mysql-2.7.0.sql” 里面的语句都输入进去
quit; # 退出
exit
postgre
docker-compose 配置存储在目录 postgre 里面,如果是第一次创建,需要进入容器里面创建数据库 wvp2,并且初始化数据表(数据表配置文件"./database_config/初始化-postgresql-kingbase-2.7.0.sql")
大致操作和 mysql 想同,不同的是登录数据库,和选择数据库的命令
psql -U postgres --password # 登陆数据库
CREATE DATABASE wvp2;
\c wvp2 # 选择数据库
4. 启动国标服务
目录 my_gb
配置
打开 docker-compose.yml 修改 PUBLIC_NET 为外网 ip
根据选择的数据库打开对应的配置(mysql/postgre)
vi configs/wvp/application.yml
如果要修改端口的话,还需要修改对应的配置文件
- wvp : configs/wvp/application.yml
- media : configs/zlm/config.ini
- record : configs/assist/application.yml
注意映射端口要和本地端口一样,如果有修改需要去改对应的配置文件。流媒体服务生成推流链接时会把本地端口下发过去,如果映射不对应会导致设备连接不上
启动服务
my_gb 目录下面输入
docker-compose up -d
网页端口是 18080,账号密码配置保存在数据库里面,我这里配置的是 admin/jco12345678