首页 > 解决方案 > /usr/bin/ 是否被授权为 docker prefrences 中卷共享的默认位置?

问题描述

我正在与团队成员共享一个 docker-compose 文件以轻松构建我们的应用程序。我们都在 OSX 上,在我的机器上运行良好,但我的同事收到以下错误:

ERROR: for backend Cannot start service backend: b'Mounts denied: \r\nThe path /usr/bin/docker\r\nis not shared from OS X and is not known to Docker.\r\nYou can configure shared paths from Docker -> Preferences... -> File Sharing.\r\nSee https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.\r\n.'

我认为这是由于 docker-compose.yaml 中的以下语句。

volumes:
  - "/usr/bin/docker:/usr/bin/docker"

我不必更改我的 docker-> 首选项-> 文件共享来完成这项工作。我只有共享的默认目录:/Users, /Volumes, /tmp, /private.

为什么它在他的机器上不起作用?他是否必须将 /usr 目录添加为共享目录?如果是这样,我怎么不用呢?

更新 问题是docker可执行文件位于/usr/local/bin/而不是/usr/bin。尽管两台机器都是 OSX,但我不知道为什么 docker 以不同的方式安装了可执行文件。

标签: dockerdocker-composedocker-volumevolumes

解决方案


这是一个误导性错误,应该要求您检查/usr/bin/docker主机上是否存在路径。如果目录不存在,Docker(至少在 Mac 上)将尝试创建目录。显然,您的队友没有以足够的权限登录以创建 /usr/bin/docker。


推荐阅读