【发布时间】:2023-08-08 09:46:01
【问题描述】:
我正在尝试运行一个可以访问主机上的串行端口的 Docker 容器。
这是我所做的:
- 我用的是 Mac
- 主机上安装的驱动程序 (http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41)
- 插入设备
- 跑
ls /dev/t*返回/dev/tty.usbserial- 成功了 - 运行容器
docker run -it --privileged -v /dev:/dev node:4.4.0 /bin/bash,然后在未返回/dev/tty.usbserial设备的容器内运行ls /dev/t*...
我玩了很多不同的参数变化,但我还没有找到有效的:)
--device 标志也不适合我,因为设备可能会重新连接,并且名称可能与 /dev/tty.usbserial 不同。
【问题讨论】:
-
您说您在 Mac 上运行?这是否意味着您正在使用 docker-machine 之类的?如果是这样,问题可能与运行 docker 容器的虚拟机看不到设备有关
-
我正在使用官方的 docker 工具箱 (docker.com/products/docker-toolbox)。然后运行
Docker Quickstart Terminal,在这一步我确实看到了设备,就在我运行一个新容器之后,我没有看到其中的设备。 -
如果你运行
docker-machine ssh <machinename>,你能看到/dev中的设备吗? Docker 快速入门终端只是为您打开一个终端,其中设置了所有环境变量,以与 VM 中的 docker 守护进程对话。见此链接:docs.docker.com/machine/reference/ssh -
@sprkysnrky 我运行
docker-machine ssh default,然后列出了/dev,没有找到设备...
标签: bash docker serial-port usb device