Используйте общий ресурс smb также в качестве тома докера

У меня есть один сервер Debian 11 с несколькими общими ресурсами smb под /samba/. Теперь я хотел бы запустить несколько экземпляров программного обеспечения для синхронизации файлов под названием Syncthing внутри контейнеров докеров на этом компьютере, таким образом, для каждого smb-share один контейнер Syncthing.

Я изо всех сил пытаюсь получить контейнеры докеров для доступа к этим каталогам в хост-системе.


    volumes:
      - /samba/userX:/userX-data

Простое сопоставление smb-каталогов как томов (с помощью docker-compose) — плохая идея, так как каждое создание/модификация файла через контейнер docker выполняется от имени пользователя root, поэтому искажаются разрешения на хосте (кому нужны правильные разрешения для smb).


//127.0.0.1/userX /mnt/smb/user1 cifs username=userX,password=<passwd> 0 0

Единственное решение, которое я мог придумать, — это смонтировать общие ресурсы SMB из хост-системы в хост-систему, а затем сопоставить /mnt/smb/user в соответствующие контейнеры.

Но мне это кажется странным, и не будет ли ненужный доступ к файловой системе по сети сильно влиять на производительность? Или это не имеет значения, поскольку все остается на этом одном физическом сервере?

Приложение Syncthing как хранилище рекомендуется иметь «прямой» доступ к хранилищу…

Любые альтернативы и идеи приветствуются!

докер файл-разрешения сервер-сообщение-блок

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *