Монтирование CIFS с использованием имени хоста не работает
Это основано на старом предложении https://github.com/moby/moby/pull/39250 по проблеме. Я пытаюсь смонтировать том CIFS, у меня сработала настройка через IP, но когда я пытаюсь настроить его с использованием имени хоста, это не работает.
CIFS=XX.XX.XX.XX
api:
image: name-api:$TAG
environment:
- NODE_ENV=docker
ports:
- "3000:3000"
container_name: cc-api
volumes:
- cifs:/usr/node/cifs
volumes:
cifs:
driver: local
driver_opts:
type: cifs
o: username=$WSDLUSER,password=$WSDLPASS,rw,domain=domain.com,uid=1000,forceuid,gid=1000,forcegid,file_mode=0400,dir_mode=0500
device: "\\\\${CIFS}\\documentation\\_shared\\pdfs”
Когда я пытаюсь изменить его наCIFSDOMAIN=cifs.domain.com
Я получаю сообщение об ошибке при создании томаinvalid argument
. Итак, это должно работать:
volumes:
cifs:
driver: local
driver_opts:
type: cifs
o: addr=cifs.domain.com,username=$WSDLUSER,password=$WSDLPASS,rw,uid=1000,forceuid,gid=1000,forcegid,file_mode=0400,dir_mode=0500
device: "\\\\${CIFSDOMAIN}\\documentation\\_shared\\pdfs”
Это было опробовано с помощью"//${CIFSDOMAIN}/documentation/_shared/pdfs”
слишком.
Вероятно ли, что драйвер ядра не разрешает имена хостов? В этой статье говорится, что вам необходимо использовать IP-адрес при монтировании CIFS, поскольку Docker не использует одни и те же инструменты пользовательского пространства для монтирования и завершится ошибкой, если будет указано имя хоста.
Проверка тома показывает точку монтирования, мне кажется, это правильно.
{
"Driver": "local",
"Labels": {
"com.docker.compose.project": "cc",
"com.docker.compose.version": "1.27.4",
"com.docker.compose.volume": "cifs"
},
"Mountpoint": "/var/lib/docker/volumes/cc_cifs/_data",
"Name": "cc_cifs",
"Options": {
"device": "\\\\cifs.domain.com\\documentation\\_shared\\pdfs",
"o": "addr=cifs.domain.com,username=XXXXX,password=YYYYY,rw,uid=1000,forceuid,gid=1000,forcegid,file_mode=0400,dir_mode=0500",
"type": "cifs"
},
"Scope": "local"
}
Кроме того, содержимое /etc/hosts :
XX.XX.XX.XX cifs cifs.domain.com