将设备添加到docker容器时如何转义冒号?

将设备添加到docker容器时如何转义冒号?,docker,Docker,这可以添加通过序列id显示的设备: docker run -it --rm --device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A101A9A7-if00-port0 -v /dev:/dev ubuntu /bin/bash 这不适合添加通过串行路径连接的设备: docker run -it --rm --device /dev/serial/by-path/pci-0000:00:14.0-usb-0:8:1.0-port0 -v /d

这可以添加通过序列id显示的设备:

docker run -it --rm --device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A101A9A7-if00-port0 -v /dev:/dev ubuntu /bin/bash
  • 这不适合添加通过串行路径连接的设备:

    docker run -it --rm --device /dev/serial/by-path/pci-0000:00:14.0-usb-0:8:1.0-port0 -v /dev:/dev ubuntu /bin/bash
    
    它报告错误:

    “--device”标志的“/dev/serial/by path/pci-0000:00:14.0-usb-0:8:1.0-port0”参数无效:路径格式错误:/dev/serial/by path/pci-0000:00:14.0-usb-0:8:1.0-port0
    请参阅“docker run--帮助”

    如果对
    执行转义字符串,则出现与下一个相同的错误:

    docker run -it --rm --device /dev/serial/by-path/pci-0000\:00\:14.0-usb-0\:8\:1.0-port0 -v /dev:/dev ubuntu /bin/bash
    
  • 正如我所知,对于
    bind mount
    ,我们现在可以使用类似
    --mount type=bind,source=/colon:path/test,destination=/data
    的东西来处理它,请参阅

    所以我的问题是:对于
    --设备
    ,我能做些什么?

    回答我自己,来自:

    似乎CLI不支持转义冒号,目前唯一的方法是使符号链接与下一个类似:

    ln -s /dev/serial/by-path/pci-0000:00:14.0-usb-0:8:1.0-port0 /dev/serial/by-path/mydevice01
    docker run -it --rm --device /dev/serial/by-path/mydevice01 -v /dev:/dev ubuntu /bin/bash
    

    这就是我目前的解决方法。

    您是否尝试在设备名称周围使用单引号?像这样:
    docker run-it--rm--device'/dev/serial/by path/pci-0000:00:14.0-usb-0:8:1.0-port0'-v/dev:/dev ubuntu/bin/bash
    @Flo不适用于
    '
    ,也不适用于
    '
    啊!你们并不孤单,检查最后一个答案:我不知道这是否是一个公开的问题…似乎没有人处理,半年前。