如何在Docker中部署
需要在Docker中部署流媒体NodeNVR,首先需要创建流媒体NodeNVR的镜像文件。这里我们不直接提供镜像文件,而是提供创建镜像文件的方法。
创建镜像文件
1.安装配置好docker环境,并启动docker。
2.下载nodenvr程序包,并解压出来,解压后的根目录为 nodenvr
。
3.在 nodenvr
的同级目录中创建 Dockerfile
文件,并用文本编辑工具打开。
4.编写 Dockerfile
文件。这里我们以最新的ubuntu系统为基础镜像,分别编写x64、arm64架构下的镜像生成脚本内容。请根据自身docker主机的CPU架构,选择性生成对应的镜像文件。
x64
txt
FROM ubuntu:latest
COPY nodenvr /nodenvr
WORKDIR /nodenvr
RUN chmod +x pnodenvr-linux
CMD [ "./pnodenvr-linux" ]
EXPOSE 9525
EXPOSE 9526
EXPOSE 9527
EXPOSE 9528
arm64
txt
FROM arm64v8/ubuntu:latest
COPY nodenvr /nodenvr
WORKDIR /nodenvr
RUN chmod +x pnodenvr-arm64
CMD [ "./pnodenvr-arm64" ]
EXPOSE 9525
EXPOSE 9526
EXPOSE 9527
EXPOSE 9528
这里,我们暴露了9525、9526、9527、9528共4个端口号。其中9525是GB28181协议端口;9526是RTMP协议端口,9527是http协议端口,9528是https端口,https默认不开启,需要手动开启,可在管理后台配置。
5.构建镜像文件。启动命令行,进入到 Dockerfile
所在目录。执行如下命令:
bash
docker build -t nodenvr:x64_v2.20240121 .
6.导出镜像文件,执行如下命令:
bash
docker save -o nodenvr_x64_v2.20240121.tar nodenvr:x64_v2.20240121
至此,docker镜像文件生成成功,文件扩展名为 .tar
。
部署docker镜像
1.安装配置好目标主机的docker环境,并启动docker。
2.将 .tar
镜像文件拷贝到目标主机,并启动命令行进入到镜像文件所在目录,然后执行如下命令将镜像导入到docker中,注意命令中有个 <
。
bash
docker load < nodenvr_x64_v2.20240121.tar
3.运行镜像实例,执行如下命令,将随docker自启动。这里需将容器实例中的4个端口映射到docker主机的端口,这样外部才能访问。
bash
docker run -d --restart=always -p 9525:9525 -p 9526:9526 -p 9527:9527 -p 9528:9528 --name nodenvr_v2.20240121 nodenvr:x64_v2.20240121
至此,部署完成,现在可以在浏览器中进行访问了。
对于已经存在的容器实例,可以通过 docker ps -a
命令进行查找。一旦找到了要运行的容器实例,使用 docker start
命令来启动它。你需要提供要启动的容器的 ID 或者名称作为参数。例如:
bash
docker start nodenvr_v2.20240121