1

Я хочу разрешить док-контейнеру получать доступ к данным с подключенного внешнего жесткого диска USB (ExFat). Я подключил жесткий диск к существующей и пустой папке /tmp/driveTest .

Затем я установил папку tmp в docker-контейнер, введя - '/tmp:/mnt/fs' в моем файле docker-compose.yml. Когда контейнер Docker запускается, он успешно считывает данные с жесткого диска. Но когда я отключаю диск, не перезапуская Docker-контейнер, Docker-контейнер по-прежнему видит структуру папок / файлов, а не должен.

Когда я запускаю контейнер Docker и монтирую диск, он вообще не видит структуру папок / файлов, хотя должен.

Я пробовал варианты с флагом privileged: true , но это, похоже, не имеет никакого эффекта. Я также неудачно попробовал другой вариант монтирования:

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

Если возможно, чего я хочу достичь, то как?

1 ответ1

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .