docker:如何使所有设备可用?

fbe*_*nce 5 usb docker

我正在使用 Docker 容器来玩一些硬件。其中一些特别需要一个/dev/tty[something].

我知道我总是可以这样做docker run --device=/dev/tty[something],但这不是很灵活,因为特定设备可能在启动时未插入。

我读到,--privileged --volume="/dev/bus/usb:/dev/bus/usb:rw"如果我想访问 USB,我可以这样做,但事实证明他们特别需要/dev/tty[]. 我能做的就是--privileged --volume="/dev:/dev:rw"让一切都可用吗?这会导致主机或容器出现任何问题吗?

编辑

我正在寻找一种可以在容器中插入和播放任何 USB 设备的方法。

yam*_*enk 3

有旗子--privileged就够了。它将允许容器访问所有主机设备,如此处指定

\n\n
\n

\xe2\x80\x9cprivileged\xe2\x80\x9d 容器有权访问所有设备

\n
\n\n

这可以通过以下方式验证:

\n\n
docker run --rm --privileged -it alpine ls /dev\n
Run Code Online (Sandbox Code Playgroud)\n

  • 仅当 USB 已插入时,在执行“docker run”时才有效,并且不会针对之后插入的任何 USB 设备进行更新。 (11认同)