Я знаю, что плагины типа docker-volume-netshare
существуют, и я использовал их в прошлом, но для этого проекта я ограничен только локальным драйвером.
Я могу успешно создать и использовать том CIFS с локальным драйвером в традиционном смысле (передавая имя пользователя / пароль в строке), но теперь я хочу передать учетные данные через файл учетных данных. В документации Docker говорится, что он поддерживает команды, аналогичные командам mount, поэтому с этой целью я пытался передать учетные данные, как если бы я монтировал их с помощью команды mount
.
У меня есть файл /root/.cifs
.
username=myusername
password=mypassword
Затем я проверил его путем монтирования вручную
mount -t cifs \
-o credentials=/root/.cifs,vers=3.0 \
//192.168.76.20/docker_01 /mnt
Работает успешно, и я могу читать / записывать данные. Теперь я пытаюсь создать том докера, используя ту же логику.
docker volume create \
--driver local \
--name persistent \
--opt type=cifs \
--opt device=//192.168.76.20/docker_01 \
--opt o=credentials=/root/.cifs,vers=3.0
Однако, когда я пытаюсь использовать том, я получаю CIFS VFS: No username specified
в файле журнала Docker.
Я попытался изменить параметры громкости, добавив имя пользователя (--opt o=credentials=/root/.cifs,username=docker01,vers=3.0
), но это просто привело к 0xc000006d STATUS_LOGON_FAILURE
Есть ли способ создать том CIFS без указания встроенных учетных данных?