docker - /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 以不同的方式安装了可执行文件。
解决方案
这是一个误导性错误,应该要求您检查/usr/bin/docker
主机上是否存在路径。如果目录不存在,Docker(至少在 Mac 上)将尝试创建目录。显然,您的队友没有以足够的权限登录以创建 /usr/bin/docker。
推荐阅读
- kivy - 即使我安装了它需要的每一个东西,为什么我仍然在 buildozer 中收到此错误消息?
- php - $post->user->name 不工作(ErrorException Trying to get property 'name' of non-object)|| 拉拉维尔 8
- javascript - 视频流使用 Django、JS、HTML、Ajax
- node.js - JsonWebTokenError: jwt malformed(在 ExpressJs 中创建 API)
- postgresql - 用于 Airflow 后端数据库的 Postgres 在指定模式中创建元数据表
- javascript - 在 react 功能组件中 setState 的功能语法有什么用?
- java - 难以在 Sorted ArrayList 中设置和更新对象
- java - 如何解决 Hibernate 错误“无法读取 hi 值 - 您需要填充表”
- machine-learning - 在 Julia 中训练机器学习模型的超参数时,VSCode 终端崩溃
- javascript - 如何使用 Keycloak 和 PKCE 流实现 React SPA 身份验证?