ExFat USB-mount non mis à jour dans le conteneur Docker

1

Je souhaite laisser un conteneur Docker accéder aux données d'un disque dur externe USB monté (ExFat). J'ai monté le disque dur dans un /tmp/driveTestdossier existant et vide .

Ensuite, j'ai monté le tmpdossier dans le conteneur docker en entrant - '/tmp:/mnt/fs'dans mon fichier docker-compose.yml. Lorsque le conteneur Docker démarre, il lit correctement les données du disque dur. Mais lorsque je démonte le lecteur, sans redémarrer le conteneur Docker, celui-ci voit toujours la structure dossier / fichier alors qu'il ne le devrait pas.

Lorsque je démarre le conteneur Docker et que je monte le lecteur, il ne voit pas du tout la structure de dossiers / fichiers alors qu'il le devrait.

J'ai essayé les options avec le privileged: truedrapeau, mais cela ne semble pas avoir d'effet. J'ai également essayé sans succès une autre option de montage:

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

Si c'est possible ce que je veux réaliser, alors comment?

Waxyen Lin
la source

Réponses:

1

J'ai trouvé la solution après de nombreuses erreurs d'essai.

Dans le docker-compose.ymlfichier, j'ai créé un volume nommé comme ceci:

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

Ensuite, pour les paramètres du service de conteneur:

    volumes:
      - usb-drive:/mnt/usb

Ce volume est mis à jour lorsque vous effectuez mountet umountactions au /home/user/usb-mount/dossier.

EDIT: Assurez-vous simplement de monter le ou les lecteurs USB après la création du volume. Le chemin du point de montage est différent de /home/user/usb-mount/celui créé après la création du volume par docker-compose.

Waxyen Lin
la source