在Linux主机中,我可以使用
minicom -D /dev/ttyACM0 -b 115200
要打开一个串行端口,如果我在另一个终端上执行上述命令,它将显示
Device /dev/ttyACM0 is locked
是的。以上是我的预期行为。
但如果我执行
Minicom公司-D/dev/ttyacm0-B 115200
在主机中,然后使用next命令启动容器:
docker run --privileged -idt --name test -v /dev:/dev -v /etc/apt:/etc/apt ubuntu:16.04
在容器里,我执行
Minicom公司-D/dev/ttyacm0-B 115200
,它将显示我已成功打开串行端口。
这种现象是:如果串行端口打印一些信息:例如。
Hello world!
是的。这个
minicom
在主机中可以获取内容
Hello
,而
Minicom公司
在容器中可以得到内容
world!
,它是随机的。
不管怎样,似乎两个minicom将竞争获取串行端口的内容。
任何使行为与在主机中相同的建议都会说,如果我在主机中打开串行端口,则在容器中打开。我能得到
设备/dev/ttyacm0已锁定
在集装箱里,如果可能的话?