我有一个连接到debian主机的USB卷。我想将设备“挂载”在docker内部。无法使用--volume,因为该设备可能是短暂的,甚至容器也未运行。
工作流程如下:
这不适用于我(/ dev / sdc是我的USB设备。理想情况下,我想使用/ dev / disk / by-id / usb-MBED_VFS_0240000048824e450041700fdedd003598d1000097969900-0:0但--device不能使用:in是路径)
vagrant@parallels:~$ sudo docker run --rm --interactive --tty --device /dev/sdc ubuntu
[sudo] password for vagrant:
root@76c5c87bd4a6:/# mkdir /tmp/1
root@76c5c87bd4a6:/# mount /dev/sdc /tmp/1
mount: /tmp/1: permission denied.
如果--privileged被通过
vagrant@parallels:~$ sudo docker run --rm --interactive --tty --privileged --device /dev/sdc ubuntu
root@1717829c3d16:/# mkdir /tmp/1
root@1717829c3d16:/# mount /dev/sdc /tmp/1
root@1717829c3d16:/# ls /tmp/1
即使我使用“ --device”,为什么我仍需要通过--privileged
答案 0 :(得分:0)
传递--device
可以使您访问设备,但不授予您通过mount
操作修改文件系统的权限。也就是说,“权限被拒绝”错误来自mount
尝试,而非尝试访问设备。
请注意,另一种工作流程是将主机上的设备挂载到临时目录,然后用绑定挂载(-v /temporary/mountpoint:/path/in/container
标记容器。这样的优点是既不需要--device
也不需要特权。