我正在尝试创建一个带有杯子的泊坞窗图像来处理我的打印机。当我在 docker compose 中执行此操作时,cups 会识别打印机并且我可以添加它。在主机上:
$ lsusb
Bus 001 Device 008: ID 04a9:173a Canon, Inc. PIXMA MP250
在 docker-compose.yml 中:
devices:
- /dev/bus/usb/001/008:/dev/bus/usb/001/008
但当我用 USB 重新连接打印机时,USB 设备编号有时会发生变化。为此,我创建了一个 udev 规则。
SUBSYSTEM=="usb", ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="173a", MODE="777", SYMLINK+="canon_prixma"
现在,当我重新连接打印机时,它会显示在 /dev/canon_prixma 下。现在,当我尝试将设备传递到 docker 容器内时,cups 不再无法识别它。
devices:
- /dev/canon_prixma:/dev/canon_prixma
在不使用特权的情况下处理此问题的最佳方法是什么?
答案1
可能的情况是在 Docker 挂载中传递时不遵循符号链接。
您可能需要使用 进行检查sudo docker exec -it your_container ls -la /dev/canon_prixma
。
也许,最简单的解决方案是共享整个/dev/
文件夹或类似的内容,尽管这不是最安全的选择。