docker (form snap) mount: bind возвращает ошибку 'bind source path does not exist'
Уважаемые господа,
У меня следующая ситуация:
я построил образ и пытаюсь запустить контейнер командой
docker run \
--name=emptypicture-cont -it \
--expose=8010 -p 8010:8010
--mount type=bind,source=/Data/emptypicture/Logs,target=/App/Logs \
-d emptypicture-image
Мне возвращается ошибка
docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /Data/emptypicture/Logs.
При этом у меня есть директория /Data/emptypicture/Logs
я прошу помощи, потому что я сегодня реально сломал голову. я несколько часов пытался запустить насчастный контейнер, и я не могу понять, какую ошибку я делаю.
Я десять раз удалил и создал как образ, так и контейнер, и саму диреткторию. Дал права 777 на всю /Data
я прочитал кучу дискуссий в интернете на тему "bind vs named volumes"
Но я не могу понять, что я делаю не так.
Не дадите ли вы новое направление моему поиску ошибок? Что еще можно попробовать? На какие типичные грабли я мог наступить?
linux: 18.04.4 LTS
docker: 20.10.8, поставлен из снапа
На другом хосте всё... просто работает!
Разница, котрую я заметил - такая: на хосте, где всё работает - докер поставлен не из снапа, а "нативно". И я там права группе еще не дал, так что команду docker всегда приходится запускать через sudo. И линукс там посвежее:
Ubuntu 20.04.1 LTS
Дополнение
Я нашел вопрос - ответ https://devops.stackexchange.com/questions/14749/, который говорит, что во всём виноват snap: "Snap представляют собой уровень изоляции, аналогичный контейнерам, который предотвращает доступ ко всей файловой системе хоста. Домашние каталоги пользователей монтируются в привязки, что дает вам доступ к этим папкам. Если вы устанавливаете докер вне оснастки, у вас должен быть доступ для монтирования других каталогов хоста в контейнер"
Теперь пытаюсь понять, как дать установленному из снапа докеру нужный доступ...