Я пытаюсь сопоставить сетевое хранилище SMB с Docker в среде разработки, чтобы сделать его доступным для контейнеров так же, как и для общего локального диска. Это означает, что для всей Docker VM, а не для отдельных контейнеров. Другому приложению требуется сетевое хранилище через SMB-доступ, но оно находится в другом домене, поэтому я не могу поделиться с ним локальными дисками. Сетевые диски Windows также не работают с Docker.
Текущий обходной путь - открыть вложенные оболочки на Docker, получить доступ к виртуальной машине и затем смонтировать сетевое хранилище. Я пробовал это как пакетный файл Windows, но он останавливается при первой подсказке оболочки и больше не вводит через "echo".
docker run --rm -it --privileged --pid=host justincormack/nsenter1
echo ctr -n services.linuxkit task exec -t --exec-id foo docker-ce /bin/sh
echo mkdir host_mnt/mystorage
echo mkdir host_mnt/mystorage/Videos
echo mkdir host_mnt/mystorage/Videos/my-private-storage
echo mount -v -t cifs -o username=myname,password=p@s$w0rd,file_mode=0777,dir_mode=0777,vers=2.0,uid=1234,gid=1234 //mystorage.mycompany.com/Videos/my-private-storage /host_mnt/mystorage/Videos/my-private-storage
echo exit
echo exit
Чтобы ввести это в консоль (без «echo»), требуется удалить / перезапустить контейнеры Docker впоследствии.
Есть ли способ легко подключить сетевой диск к Docker и при запуске Docker? Или любой другой способ легко использовать ресурс SMB?