No Description

wenhongquan 4b98c68cd4 `fix` 3 weeks ago
backend e1bc0f143f `fix` 3 weeks ago
frontend c7f174cd38 `fix` 3 weeks ago
Dockerfile 008e75934d init 3 weeks ago
README_DOCKER.md 008e75934d init 3 weeks ago
README_INSTALL.md 008e75934d init 3 weeks ago
cleanup_scripts.sh 008e75934d init 3 weeks ago
deploy.sh e1bc0f143f `fix` 3 weeks ago
docker-compose.yml 008e75934d init 3 weeks ago
dzxj_dtu.conf e1bc0f143f `fix` 3 weeks ago
install_arm_ubuntu.sh 008e75934d init 3 weeks ago
setup_network.sh 4b98c68cd4 `fix` 3 weeks ago

README_DOCKER.md

串口-MQTT 转发网关 Docker部署指南

本文档提供了使用Docker和Docker Compose部署串口-MQTT转发网关应用程序的详细指南。

前提条件

在开始之前,请确保您已安装以下软件并处于运行状态:

启动Docker守护进程

如果遇到Cannot connect to the Docker daemon at unix:///Users/xxx/.docker/run/docker.sock错误,请确保Docker守护进程已启动:

在macOS上

  • 打开Docker Desktop应用
  • 等待Docker图标在菜单栏中变为绿色,表示守护进程已启动

在Linux上

sudo systemctl start docker

在Windows上

  • 打开Docker Desktop应用
  • 或通过命令行启动Docker服务:

    net start docker
    

快速开始

方法1:使用Docker Compose(推荐)

  1. 确保您在项目根目录下(包含docker-compose.yml文件的目录)

  2. 运行以下命令构建并启动服务:

    docker-compose up -d --build
    

这将:

  • 构建Docker镜像(包括前端和后端)
  • 创建并启动容器
  • 将容器的5000端口映射到主机的5000端口
  1. 访问应用程序

打开浏览器并访问:http://localhost:5000

方法2:仅使用Docker

如果您不想使用Docker Compose,可以直接使用Docker命令:

  1. 构建镜像:

    docker build -t serial-mqtt-gateway .
    
  2. 运行容器:

    docker run -d -p 5000:5000 --name serial-mqtt-gateway serial-mqtt-gateway
    

配置串口访问

如果您需要在Docker容器中访问主机的串口设备,请按照以下步骤操作:

  1. 编辑docker-compose.yml文件,取消相关设备映射的注释并根据实际情况修改:

    devices:
    - /dev/ttyUSB0:/dev/ttyUSB0  # 修改为您实际的串口设备路径
    
  2. 重启服务:

    docker-compose down
    docker-compose up -d
    

连接到外部MQTT代理

如果您需要连接到外部MQTT代理,可以通过以下方式配置:

  1. 在应用程序的Web界面中配置MQTT连接参数
  2. 或者修改docker-compose.yml文件,添加网络配置(如果MQTT代理也在Docker中运行)

查看日志

要查看应用程序的日志,可以使用以下命令:

docker-compose logs -f

停止和重启服务

停止服务

docker-compose down

重启服务

docker-compose restart

常见问题排查

  1. 端口冲突:如果端口5000已被占用,可以修改docker-compose.yml文件中的端口映射:

    ports:
    - "8080:5000"  # 将容器的5000端口映射到主机的8080端口
    
  2. 串口访问权限:确保您有足够的权限访问主机上的串口设备

  3. 构建失败:如果构建过程中遇到问题,请检查是否有网络连接问题或依赖项安装失败

注意事项

  • 生产环境中建议配置适当的环境变量来增强安全性
  • 对于高可用性部署,可以考虑使用Docker Swarm或Kubernetes
  • 定期更新Docker镜像以获取最新的安全补丁

许可证

[在此添加许可证信息]