Как в docker-compose подключить volume, который расположен на удаленном win-хоcте
Дано:
-- Сервер на Ubuntu с docker
-- Сервер на Windows (s-filebase) с сетевой шарой //s-filebase/project/
-- На win-сервере создан локальный пользователь user с паролем pass и есть права на чтение/запись шары
На Ubuntu есть проект, который разворачивается с помощью docker-compose
version: "3.9"
services:
app:
build: ./app
networks:
- backend
- frontend
depends_on:
- redis
extra_hosts:
- "s-database:$IP_database"
- "s-filebase:$IP_filebase"
volumes:
- filebase:/app/static/temp
redis:
build: ./redis
networks:
- backend
networks:
backend:
driver: bridge
internal: true
frontend:
external:
name: nginx-int
volumes:
filebase:
external: true
Так же создан volume с именем filebase:
docker volume inspect filebase
[
{
"CreatedAt": "2021-05-28T19:17:38Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/filebase/_data",
"Name": "filebase",
"Options": {
"device": "//s-filebase/project/1/temp",
"o": "device=s-filebase,username=user,password=pass",
"type": "cifs"
},
"Scope": "local"
}
]
При сборке проекта через docker-compose up получаю ошибку
ERROR: for app Cannot create container for service app: failed to mount local volume: mount //s-filebase/project/1/temp:/var/lib/docker/volumes/filebase/_data, data: device=s-filebase,username=user,password=pass: invalid argument
ERROR: Encountered errors while bringing up the project.
Подскажите, где не правильный аргумент?
Весь интернет перерыл так и не нашел причину(
Ответы (1 шт):
В данном случае корректно подключить папку в Ubuntu сервере через mount
sudo mount -t cifs -o username=user,password=pass,uid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777 share dir_for_server
А в docker-compose добавить value на данную папку.