gpt4 book ai didi

Docker 应用程序并不总是在 Ubuntu 20.04 中找到串行端口

转载 作者:行者123 更新时间:2023-12-04 19:05:44 26 4
gpt4 key购买 nike

我正忙于需要通过串行端口连接的物理硬件的 IoT 类型的应用程序。我们选择使用 Azure IoT Edge 架构在本地存在的 PC 上部署应用程序。这有助于我们的 DevOps 周期。
使用 Azure IoT Edge 要求我们的应用程序是容器化的,因此公开串行端口可能是一个相当大的挑战。这台 PC 是 64 位的,运行的是 Ubuntu 20.04,并且有多个 USB、串行和 LAN 端口,我们可以将设备插入其中。
我们关注了这个伟大的tutorial from Losant进行设置。
我们的容器创建选项如下所示:

{
"HostConfig": {
"PortBindings": {
"80/tcp": [
{
"HostPort": "5000"
}
]
},
"Privileged": true,
"Volumes": {
"/dev": {}
}
}
}
我们将应用程序的应用程序的端口 80 映射到 PC 上的端口 5000,并按照上面教程链接中的建议设置 Volumes 和 Privileged 标签。
设备本身是通过 USB 连接的,因此我们必须在 Ubuntu 20.04 上从 FTDI website 安装驱动程序。 .
我的问题 :
在某些情况下,我们的应用程序会找到串行端口 (tty/USB0),但在大多数情况下不会。如果我们在连接了设备的情况下重启 PC,应用程序通常会找到该设备。我们如何更改 PC 设置/docker 设置/应用程序设置,以便它总能找到设备?

最佳答案

这实际上只是对卷语法的不幸误用。 This docker link很有帮助。
解析后的语法如下:

{
"HostConfig": {
"Binds": [
"/dev:/dev"
],
"PortBindings": {
"80/tcp": [
{
"HostPort": "5000"
}
]
},
"Privileged": true
}
}
解决后一切都按预期工作。

关于Docker 应用程序并不总是在 Ubuntu 20.04 中找到串行端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70064134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com