Docker не может смонтировать любую папку в / var на ОС Ma c - PullRequest
1 голос
/ 18 февраля 2020

После обновления до последней версии docker на Ma c os 10.15.3. Я снова получаю сообщение об ошибке Mounts denied.

Вот версии:

Docker desktop: 2.2.0.3(42716)
Engine: 19.03.5
Mac osx: Catalina(10.15.3)
Docker compose: 1.25.4

Я пытаюсь смонтировать /var/data/test:/var/data/test в файл docker. И я выбираю папку в меню File Sharing, она оказывается /private/var/data/test и больше не может редактировать.

Если я пытаюсь запустить docker-compose up, всегда получаю ошибку Mounts denied.

ERROR: for c9430ce45017_xxx-SNAPSHOT  Cannot start service xxx: Mounts denied:
The path /var/data/test
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.

Обновление: Как подсказывает @tripleee, я редактирую файл композиции в /private/var/data/test:/var/data/test, он работает. Но это не будет работать на сервере, который Linux.

1 Ответ

3 голосов
/ 19 февраля 2020

Спасибо, что @GordonDavisson поделился вашими двумя центами.

Даже если я не могу поставить /var/data/test через docker рабочий стол GUI, я установил каталоги для общего доступа к файлам наконец из командной строки.

Список общих папок, отображаемый в GUI, также можно редактировать в ~/Library/Group Containers/group.com.docker/settings.json.

Если пользователь уже изменил общие папки, «filesharingDirectories» массив уже существует в settings.json, вы можете просто добавить путь в массив json. Если не изменен, массив отсутствует в settings.json, но вы можете добавить его вместе со своим путем в дополнение к стандартным:

"filesharingDirectories" : [
    "/Users",
    "/Volumes",
    "/private",
    "/tmp", 
    "/usr/local/share/dotnet/sdk/NuGetFallbackFolder"
  ]

В конце концов, приложение требует перезагрузки, чтобы папки были видны в VM.

Кредиты на эту ссылку

Наконец, я поставил /var/data/test в settings.json, после перезапуска docker он работает .

...