在 Ubuntu 22.04 系统上,读卡器连接到 USB 端口。由于需要在 Docker 容器中访问读卡器,因此在文件中按如下方式配置卷docker-compose.yml
:
volumes:
- type: bind
source: /media
target: /media
bind:
propagation: shared
大多数情况下,这种方法都行得通,/media
当移除/插入卡时,docker 容器卷会更新。只有插入卡时才会安装 SD 卡。操作系统会将卡安装到,/media/username
一旦移除,操作系统就会将其卸载。
但是有时,插入卡时,操作系统会将其安装为只读,但卡本身不是只读的(塑料写保护未到位)。卡在操作系统中是只读的,因此在 Docker 容器中也是只读的。重新插入卡有时可以解决问题,但并非总是如此。
该卡需要可写,因为在 Docker 容器中运行的服务需要删除卡上的文件。
可能是这个 docker compose 配置部分干扰了挂载过程?如果不是,那么导致只读挂载问题的原因是什么?
有没有更好的方法来做 SD 卡的 docker 卷映射?