如何在两个docker容器间使用串口通信
在 ubuntu22.04 上测试可用。
1. 安装docker和socat
参考 https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script , 使用一键脚本安装。当然也可以一步步手动安装,这里只是图方便。
然后安装socat
1 | sudo apt install socat |
2. 创建虚拟串口对
1 | sudo socat -d -d PTY,raw,echo=0 PTY,raw,echo=0 |
假设输出是
1 | 2026/03/12 11:16:48 socat[12754] N PTY is /dev/pts/4 |
3. 启动并进入两个容器
这里通过
-v /dev/pts/N直接把宿主机上的串口设备挂载进容器里。
打开一个新的终端,运行下面命令启动第一个容器。
1 | # 1. 赋予读写权限 |
再打开一个新的终端,运行下面命令启动第二个容器。
1 | # 1. 赋予读写权限 |
4. 测试通信
在第三个终端(容器B)里,开启监听:
1 | cat /dev/ttyS0 |
在第二个终端(容器A)里,发送数据:
1 | echo "Hello from Container A!" > /dev/ttyS0 |
可以看到容器B里有对应的输出。
- 标题: 如何在两个docker容器间使用串口通信
- 作者: urlyy
- 创建于 : 2026-03-12 11:29:41
- 更新于 : 2026-03-12 11:44:03
- 链接: https://urlyy.github.io/2026/03/12/如何在两个docker容器间使用串口通信/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论