在政企单位、医院、学校等内网隔离环境中,纯云端的信息发布系统无法使用。本文介绍如何用Docker在内网服务器上从零部署一套完整的信息发布系统,实现不依赖公网的本地化管理。

一、部署架构
┌─────────────────────────────────────┐
│           内网局域网                  │
│                                     │
│  ┌──────────┐    ┌───────────────┐  │
│  │ 管理端APP │◄──►│ Docker服务器  │  │
│  │ (Windows) │    │ (端口 9393)   │  │
│  └──────────┘    └───────┬───────┘  │
│                          │           │
│         ┌────────────────┼──────┐   │
│         ▼                ▼      ▼   │
│    ┌────────┐     ┌────────┐ ┌────┐│
│    │显示端1  │     │显示端2  │ │... ││
│    │(Android)│     │(Windows)│ │    ││
│    └────────┘     └────────┘ └────┘│
│                                     │
└─────────────────────────────────────┘
二、环境准备
# 服务器要求
OS: Linux (Ubuntu 20.04+ / CentOS 7+ / Debian 10+)
Docker: 20.10+
内存: 2GB+
存储: 20GB+ (取决于素材量)
网络: 与显示设备同一局域网

# 客户端
显示端: Android电视/机顶盒 或 Windows电脑
管理端: Windows电脑 (需安装APP版管理端,Web版不支持私有部署)
三、Docker部署步骤
1. 安装Docker
# Ubuntu/Debian
curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker

# 验证
docker --version
2. 启动服务
# 拉取并启动容器
docker run -d \
  --name my-cxserver \
  -p 9393:9393 \
  -v $(pwd)/data:/app/mhtdata \
  --restart unless-stopped \
  <镜像名>

参数说明:

  • -d:后台运行
  • -p 9393:9393:映射服务端口
  • -v:挂载数据目录,容器重建后数据不丢失
  • --restart unless-stopped:开机自启
3. 验证服务
# 检查容器状态
docker ps | grep my-cxserver

# 检查端口监听
netstat -tlnp | grep 9393

# 测试HTTP服务
curl http://127.0.0.1:9393
4. 配置防火墙
# 开放内网端口
# Ubuntu (ufw)
ufw allow 9393/tcp

# CentOS (firewalld)
firewall-cmd --permanent --add-port=9393/tcp
firewall-cmd --reload
四、显示端配置
Android设备
  1. 在Android电视/机顶盒上安装显示端APP
  2. 打开APP,进入网络配置
  3. 输入Docker服务器的内网IP地址(如 http://192.168.1.100:9393
  4. 确认连接成功,获取设备动态码
Windows设备
  1. 安装Windows版显示端
  2. 在设置中配置服务器地址
  3. 连接成功后获取动态码
五、管理端配置

私有部署必须使用APP版管理端(不能用Web版):

  1. 在Windows电脑上安装管理端APP
  2. 打开管理端,切换到"本地管理"标签
  3. 开启本地管理服务
  4. 在设备列表中绑定显示端(输入动态码)
  5. 创建节目并投放
六、常见问题
Q: Docker容器启动后端口不通?
# 检查容器日志
docker logs my-cxserver

# 检查端口绑定
docker port my-cxserver
Q: 显示端连不上服务器?
  • 确认显示端和服务器在同一局域网
  • 确认服务器IP地址正确
  • 检查防火墙是否放行9393端口
  • 如果服务器有多网卡,确认显示端访问的是正确网段的IP
Q: 数据如何备份?
# 备份数据目录
docker stop my-cxserver
cp -r $(pwd)/data $(pwd)/data_backup
docker start my-cxserver
Q: 如何升级?
docker stop my-cxserver
docker rm my-cxserver
docker pull <新镜像名>
docker run -d --name my-cxserver -p 9393:9393 -v $(pwd)/data:/app/mhtdata --restart unless-stopped <新镜像名>
七、总结

Docker部署信息发布系统的核心就一条命令,但要注意:私有部署必须用APP版管理端,数据目录要挂载到宿主机,防火墙要放行端口。部署完成后,所有数据在内网流转,不依赖任何外部服务。

更多推荐