Mou*_*gip 3 ubuntu mount usb docker
在 Ubuntu 中,USB 驱动器在/media/<user>/<drive>
插入时会自动安装。我想用它来使新连接的 USB 驱动器在正在运行的 Docker 容器中可用。所以我习惯-v /media/<user>:/media/<user>
将USB挂载点的整个父目录挂载到容器中。
如果在容器启动之前连接了 USB 驱动器,则此方法效果很好。在这种情况下,USB 挂载点具有权限0777
并且属于<user>
. 如果在容器已经运行时连接了 USB 驱动器,则挂载点会出现在容器中,但具有权限0700
并由 拥有root
!
谁能解释一下这里可能发生的事情吗?我可以想象,默认情况下,USB 驱动器会自动安装为0700
属于root
,然后一些其他机制会启动,将其更改为0777
和<user>
。只是 Docker 没有接收到更改。这是真的?
我已经挖掘了大量的论坛主题和邮件列表,但无法弄清楚其中的机制。我还尝试了一些 udev 规则(例如这个),但没有效果。
小智 6
我知道这个问题是从 2018 年开始的,但解决方案是使用绑定安装并将“绑定传播”设置为“共享”(不适用于卷)。
代替:
-v /media/<user>:/media/<user>
Run Code Online (Sandbox Code Playgroud)
使用:
--mount type=bind,source=/media/<user>,target=/media/<user>,bind-propagation=shared
Run Code Online (Sandbox Code Playgroud)
有关绑定传播的更多信息:https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation
归档时间: |
|
查看次数: |
4284 次 |
最近记录: |