Docker 容器中未更新 ExFat USB 挂载

Docker 容器中未更新 ExFat USB 挂载

我想让 docker 容器访问已安装的 USB 外部硬盘 (ExFat) 中的数据。我将硬盘安装到现有的空文件夹中/tmp/driveTest

接下来,我tmp通过输入 docker-compose.yml 文件将文件夹挂载到 docker 容器中- '/tmp:/mnt/fs'。当 Docker 容器启动时,它会成功从硬盘驱动器读取数据。但是,当我卸载驱动器而不重新启动 Docker 容器时,docker 容器仍然可以看到文件夹/文件结构,而它不应该看到。

当我启动 Docker 容器并挂载驱动器时,它根本看不到文件夹/文件结构,而它应该看到。

我尝试了带有标志的选项privileged: true,但似乎没有任何效果。我还尝试了其他安装选项,但没有成功:

- type: bind
  source: /tmp
  target: /mnt/fs

如果有可能实现我想要实现的目标,那么该怎么做?

答案1

经过多次反复试验后,我找到了解决方案。

在该docker-compose.yml文件中,我创建了一个命名卷,如下所示:

volumes:
 usb-drive:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /home/user/usb-mount/

然后,对于容器服务设置:

    volumes:
      - usb-drive:/mnt/usb

当您对文件夹执行操作mount时,该卷会更新。umount/home/user/usb-mount/

编辑:只需确保在创建卷后安装 USB 驱动器即可。安装点的路径与/home/user/usb-mount/通过 docker-compose 创建卷后的路径不同。

相关内容