在docker内部传递打印机

在docker内部传递打印机

我正在尝试创建一个带有杯子的泊坞窗图像来处理我的打印机。当我在 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/文件夹或类似的内容,尽管这不是最安全的选择。

相关内容