У меня есть один сервер 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 как хранилище рекомендуется иметь «прямой» доступ к хранилищу…
Любые альтернативы и идеи приветствуются!
докер файл-разрешения сервер-сообщение-блок